lanes 0.1.9.5 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/Rakefile +1 -1
- data/client/lanes/Boot.cjsx +3 -3
- data/client/lanes/Config.coffee +38 -3
- data/client/lanes/access/Extension.coffee +1 -1
- data/client/lanes/access/LoginDialog.cjsx +57 -47
- data/client/lanes/access/Roles.coffee +2 -2
- data/client/lanes/access/User.coffee +4 -3
- data/client/lanes/access/screens/user-management/UserManagement.cjsx +12 -11
- data/client/lanes/components/calendar/Calendar.cjsx +16 -0
- data/client/lanes/components/calendar/index.js +3 -0
- data/client/lanes/components/calendar/styles.scss +3 -0
- data/client/lanes/components/grid/Body.cjsx +86 -0
- data/client/lanes/components/grid/CellStyles.coffee +20 -0
- data/client/lanes/components/grid/EditingMixin.cjsx +84 -24
- data/client/lanes/components/grid/Editor.cjsx +45 -0
- data/client/lanes/components/grid/Grid.cjsx +62 -104
- data/client/lanes/components/grid/Header.cjsx +35 -0
- data/client/lanes/components/grid/PopOverMixin.cjsx +19 -9
- data/client/lanes/components/grid/PopoverEditor.cjsx +7 -1
- data/client/lanes/components/grid/RowEditor.cjsx +1 -1
- data/client/lanes/components/grid/Selections.cjsx +39 -0
- data/client/lanes/components/grid/Toolbar.cjsx +24 -5
- data/client/lanes/components/grid/editors.scss +22 -50
- data/client/lanes/components/grid/index.js +0 -1
- data/client/lanes/components/grid/row-editor.scss +68 -0
- data/client/lanes/components/grid/styles.scss +79 -3
- data/client/lanes/components/modal/Modal.cjsx +64 -24
- data/client/lanes/components/modal/styles.scss +12 -0
- data/client/lanes/components/record-finder/Clause.cjsx +11 -4
- data/client/lanes/components/record-finder/Dialog.cjsx +23 -24
- data/client/lanes/components/record-finder/RecordFinder.cjsx +45 -14
- data/client/lanes/components/record-finder/styles.scss +9 -6
- data/client/lanes/components/select-field/SelectField.cjsx +108 -53
- data/client/lanes/components/select-field/styles.scss +19 -0
- data/client/lanes/components/shared/ControlLabel.cjsx +45 -0
- data/client/lanes/components/shared/DateTime.cjsx +48 -0
- data/client/lanes/components/shared/DisplayValue.cjsx +16 -0
- data/client/lanes/components/shared/FieldMixin.cjsx +54 -23
- data/client/lanes/components/shared/FieldSet.cjsx +12 -35
- data/client/lanes/components/shared/FieldWrapper.cjsx +13 -0
- data/client/lanes/components/shared/FormGroup.cjsx +37 -0
- data/client/lanes/components/shared/Icon.cjsx +20 -0
- data/client/lanes/components/shared/ImageSaver.cjsx +33 -0
- data/client/lanes/components/shared/Input.cjsx +19 -0
- data/client/lanes/components/shared/InputFieldMixin.cjsx +48 -0
- data/client/lanes/components/shared/JobProgress.cjsx +27 -0
- data/client/lanes/components/shared/NetworkActivityOverlay.cjsx +58 -0
- data/client/lanes/components/shared/NumberInput.cjsx +29 -0
- data/client/lanes/components/shared/ResizeSensor.cjsx +11 -0
- data/client/lanes/components/shared/ScreenWrapper.cjsx +13 -0
- data/client/lanes/components/shared/Throbber.cjsx +3 -0
- data/client/lanes/components/shared/ToggleField.cjsx +33 -0
- data/client/lanes/components/shared/Tooltip.cjsx +2 -2
- data/client/lanes/components/shared/fields.scss +75 -13
- data/client/lanes/components/shared/fieldset.scss +3 -5
- data/client/lanes/components/shared/image-saver.scss +38 -0
- data/client/lanes/components/shared/index.js +2 -0
- data/client/lanes/{styles/plugins → components/shared}/overlay.scss +17 -4
- data/client/lanes/components/shared/resize-sensor.scss +30 -0
- data/client/lanes/components/shared/styles.scss +13 -0
- data/client/lanes/components/shared/throbber.scss +53 -0
- data/client/lanes/components/toolbar/RemoteChangeSets.cjsx +21 -48
- data/client/lanes/components/toolbar/SaveButton.cjsx +24 -0
- data/client/lanes/components/toolbar/Toolbar.cjsx +24 -37
- data/client/lanes/components/toolbar/changes-notification.scss +10 -6
- data/client/lanes/components/toolbar/styles.scss +29 -9
- data/client/lanes/extension/Base.coffee +4 -5
- data/client/lanes/index.js +0 -1
- data/client/lanes/index.scss.erb +10 -1
- data/client/lanes/lib/HotReload.coffee +13 -15
- data/client/lanes/lib/MakeBaseClass.coffee +6 -1
- data/client/lanes/lib/development.coffee +2 -0
- data/client/lanes/lib/dom-polyfills.coffee +5 -0
- data/client/lanes/lib/dom.coffee +38 -9
- data/client/lanes/lib/format.coffee +11 -0
- data/client/lanes/lib/index.js.erb +2 -0
- data/client/lanes/lib/production.coffee +6 -0
- data/client/lanes/lib/utilFunctions.coffee +50 -15
- data/client/lanes/models/AssociationMap.coffee +122 -46
- data/client/lanes/models/AssociationProxy.coffee +147 -0
- data/client/lanes/models/Base.coffee +97 -85
- data/client/lanes/models/ChangeMonitor.coffee +7 -3
- data/client/lanes/models/ChangeSet.coffee +2 -2
- data/client/lanes/models/Collection.coffee +49 -6
- data/client/lanes/models/JobStatus.coffee +32 -0
- data/client/lanes/models/PubSub.coffee +7 -5
- data/client/lanes/models/Query.coffee +115 -34
- data/client/lanes/models/ServerCache.coffee +67 -52
- data/client/lanes/models/State.coffee +97 -0
- data/client/lanes/models/Sync.coffee +18 -13
- data/client/lanes/models/SystemSettings.coffee +0 -0
- data/client/lanes/models/index.js +1 -0
- data/client/lanes/models/mixins/FileSupport.coffee +60 -0
- data/client/lanes/models/mixins/HasCodeField.coffee +13 -6
- data/client/lanes/models/query/ArrayResult.coffee +188 -0
- data/client/lanes/models/query/CollectionResult.coffee +71 -0
- data/client/lanes/models/query/Result.coffee +9 -0
- data/client/lanes/react/Component.coffee +7 -3
- data/client/lanes/react/PubSub.coffee +7 -7
- data/client/lanes/react/Root.cjsx +1 -4
- data/client/lanes/react/Screen.coffee +1 -0
- data/client/lanes/react/TypeValidators.coffee +3 -3
- data/client/lanes/react/Viewport.coffee +41 -7
- data/client/lanes/react/index.js +0 -1
- data/client/lanes/react/mixins/Access.coffee +4 -1
- data/client/lanes/react/mixins/Data.coffee +40 -25
- data/client/lanes/react/mixins/FieldErrors.coffee +27 -0
- data/client/lanes/react/mixins/RelayEditingState.coffee +4 -0
- data/client/lanes/react/mixins/Screen.coffee +14 -0
- data/client/lanes/react/mixins/Viewport.coffee +9 -3
- data/client/lanes/screens/ChangeListener.coffee +3 -3
- data/client/lanes/screens/Commands.coffee +14 -7
- data/client/lanes/screens/CommonComponents.cjsx +20 -0
- data/client/lanes/screens/Definitions.coffee +64 -20
- data/client/lanes/screens/SystemSettings.cjsx +56 -0
- data/client/lanes/screens/UserPreferences.cjsx +38 -0
- data/client/lanes/screens/index.js +3 -0
- data/client/lanes/screens/styles.scss +2 -1
- data/client/lanes/styles/fonts.scss +1 -0
- data/client/lanes/styles/global.scss +2 -1
- data/client/lanes/styles/global/flexbox.scss +16 -0
- data/client/lanes/styles/global/styles.scss +1 -0
- data/client/lanes/styles/mixins/_dropdown.scss +21 -0
- data/client/lanes/styles/mixins/_flexbox.scss +394 -0
- data/client/lanes/styles/mixins/all.scss +2 -0
- data/client/lanes/styles/variables.scss +28 -0
- data/client/lanes/testing/BeforeEach.coffee +15 -14
- data/client/lanes/testing/Helpers.coffee +14 -5
- data/client/lanes/testing/TestObjects.coffee +10 -2
- data/client/lanes/testing/index.js +1 -0
- data/client/lanes/testing/jasmine-react.js +125 -0
- data/client/lanes/vendor/base.js +56049 -74987
- data/client/lanes/vendor/calendar.js +17301 -0
- data/client/lanes/vendor/calendar.scss +303 -0
- data/client/lanes/vendor/commons.js +14990 -15847
- data/client/lanes/vendor/development.js +4912 -1952
- data/client/lanes/vendor/grid.js +14246 -5551
- data/client/lanes/vendor/grid.scss +876 -335
- data/client/lanes/vendor/index.js +1 -0
- data/client/lanes/vendor/message-bus-ajax.js +44 -0
- data/client/lanes/vendor/message-bus.js +414 -0
- data/client/lanes/vendor/rw-widgets.eot +0 -0
- data/client/lanes/vendor/rw-widgets.svg +18 -0
- data/client/lanes/vendor/rw-widgets.ttf +0 -0
- data/client/lanes/vendor/rw-widgets.woff +0 -0
- data/client/lanes/vendor/toggle.js +345 -0
- data/client/lanes/vendor/toggle.scss +138 -0
- data/client/lanes/vendor/widgets.js +21245 -6839
- data/client/lanes/vendor/widgets.scss +83 -67
- data/client/lanes/workspace/Layout.cjsx +18 -8
- data/client/lanes/workspace/Modal.cjsx +47 -0
- data/client/lanes/workspace/Navbar.cjsx +16 -2
- data/client/lanes/workspace/ScreenView.cjsx +10 -3
- data/client/lanes/workspace/ScreensMenu.cjsx +23 -7
- data/client/lanes/workspace/Tabs.cjsx +55 -0
- data/client/lanes/workspace/UIState.coffee +7 -8
- data/client/lanes/workspace/index.js +2 -1
- data/client/lanes/workspace/mixin.coffee +11 -0
- data/client/lanes/workspace/mixins/UIState.coffee +8 -0
- data/client/lanes/workspace/mixins/index.js +3 -0
- data/client/lanes/workspace/styles.scss +2 -1
- data/client/lanes/workspace/styles/header.scss +23 -1
- data/client/lanes/workspace/styles/layout.scss +26 -24
- data/client/lanes/workspace/styles/screens.scss +0 -4
- data/client/lanes/workspace/styles/tabs.scss +3 -10
- data/config/routes.rb +10 -4
- data/config/screens.rb +25 -0
- data/db/migrate/01_create_system_settings.rb +10 -0
- data/docs/todo-example-part-1.md +18 -20
- data/lanes.gemspec +15 -6
- data/lib/lanes.rb +4 -2
- data/lib/lanes/access/config/routes.rb +5 -3
- data/lib/lanes/access/config/screens.rb +1 -0
- data/lib/lanes/access/db/migrate/20140615031600_create_lanes_users.rb +1 -1
- data/lib/lanes/access/user.rb +1 -1
- data/lib/lanes/api.rb +2 -1
- data/lib/lanes/api/controller.rb +32 -71
- data/lib/lanes/api/default_routes.rb +10 -8
- data/lib/lanes/api/formatted_reply.rb +53 -0
- data/lib/lanes/api/handlers/file.rb +26 -0
- data/lib/lanes/api/helper_methods.rb +29 -5
- data/lib/lanes/api/javascript_processor.rb +36 -17
- data/lib/lanes/api/pub_sub.rb +6 -9
- data/lib/lanes/api/request_wrapper.rb +1 -2
- data/lib/lanes/api/root.rb +11 -43
- data/lib/lanes/api/routing.rb +63 -0
- data/lib/lanes/api/sprockets_extension.rb +15 -7
- data/lib/lanes/api/updates.rb +1 -2
- data/lib/lanes/command.rb +0 -1
- data/lib/lanes/command/app.rb +6 -5
- data/lib/lanes/command/console.rb +1 -0
- data/lib/lanes/command/generate.rb +3 -0
- data/lib/lanes/command/generate_migration.rb +33 -0
- data/lib/lanes/command/generate_model.rb +4 -26
- data/lib/lanes/command/migration_support.rb +29 -0
- data/lib/lanes/command/update_model.rb +14 -5
- data/lib/lanes/concerns/all.rb +2 -0
- data/lib/lanes/concerns/api_path.rb +4 -2
- data/lib/lanes/concerns/association_extensions.rb +1 -1
- data/lib/lanes/concerns/attr_accessor_with_default.rb +3 -1
- data/lib/lanes/concerns/code_identifier.rb +1 -1
- data/lib/lanes/concerns/image_uploader.rb +42 -0
- data/lib/lanes/concerns/pub_sub.rb +0 -1
- data/lib/lanes/concerns/queries.rb +2 -2
- data/lib/lanes/concerns/set_attribute_data.rb +4 -13
- data/lib/lanes/concerns/sorting_expressions.rb +34 -0
- data/lib/lanes/configuration.rb +48 -9
- data/lib/lanes/extension.rb +16 -7
- data/lib/lanes/extension/definition.rb +8 -2
- data/lib/lanes/job.rb +78 -0
- data/lib/lanes/job/failure_logger.rb +33 -0
- data/lib/lanes/model.rb +4 -0
- data/lib/lanes/rake_tasks.rb +6 -0
- data/lib/lanes/redis.rb +13 -0
- data/lib/lanes/screen.rb +34 -18
- data/lib/lanes/system_settings.rb +66 -0
- data/lib/lanes/version.rb +1 -1
- data/lib/lanes/workspace/extension.rb +1 -1
- data/npm-build/base.js +10 -3
- data/npm-build/calendar.js +6 -0
- data/npm-build/development.js +4 -5
- data/npm-build/grid.js +3 -5
- data/npm-build/package.json +40 -29
- data/npm-build/react-toggle.js +5 -0
- data/npm-build/react-widgets.js +6 -0
- data/npm-build/update-dayz +14 -0
- data/npm-build/webpack.config.js +5 -2
- data/spec/command-reference-files/initial/Gemfile +1 -1
- data/spec/command-reference-files/initial/config/routes.rb +2 -0
- data/spec/command-reference-files/initial/lib/appy-app.rb +4 -0
- data/spec/command-reference-files/initial/lib/appy-app/extension.rb +2 -0
- data/spec/command-reference-files/initial/spec/server/{spec_helpers.rb → spec_helper.rb} +0 -0
- data/spec/command-reference-files/model/config/routes.rb +2 -0
- data/spec/command-reference-files/model/spec/server/test_test_spec.rb +1 -1
- data/spec/command-reference-files/screen/client/appy-app/screens/ready-set-go/ReadySetGo.cjsx +6 -4
- data/spec/command-reference-files/screen/client/appy-app/screens/ready-set-go/index.scss +4 -3
- data/spec/command-reference-files/screen/config/screens.rb +4 -2
- data/spec/command-reference-files/screen/spec/appy-app/screens/ready-set-go/ReadySetGoSpec.coffee +1 -1
- data/spec/fixtures/system_settings.yml +1 -0
- data/spec/lanes/components/grid/GridSpec.coffee +56 -31
- data/spec/lanes/components/grid/RowEditorSpec.coffee +96 -0
- data/spec/lanes/components/select-field/SelectFieldSpec.coffee +99 -0
- data/spec/lanes/components/shared/NetworkActivityOverlaySpec.coffee +34 -0
- data/spec/lanes/models/AssociationMapSpec.coffee +36 -2
- data/spec/lanes/models/AssociationProxySpec.coffee +77 -0
- data/spec/lanes/models/BaseSpec.coffee +37 -4
- data/spec/lanes/models/CollectionSpec.coffee +11 -17
- data/spec/lanes/models/PubSubSpec.coffee +1 -1
- data/spec/lanes/models/ServerCacheSpec.coffee +65 -0
- data/spec/server/api/coffeescript_processor_spec.rb +1 -1
- data/spec/server/concerns/pub_sub_spec.rb +9 -10
- data/spec/server/concerns/sorting_expressions_spec.rb +34 -0
- data/spec/server/configuration_spec.rb +3 -3
- data/spec/server/job_spec.rb +54 -0
- data/spec/server/spec_helper.rb +0 -5
- data/spec/server/system_settings_spec.rb +23 -0
- data/templates/client/screens/Screen.cjsx +6 -4
- data/templates/client/screens/styles.scss +4 -3
- data/templates/config/routes.rb +2 -0
- data/templates/config/screen.rb +4 -2
- data/templates/lib/namespace.rb +4 -0
- data/templates/lib/namespace/extension.rb +2 -0
- data/templates/spec/client/Screen.coffee +1 -1
- data/templates/spec/server/model_spec.rb +1 -1
- data/templates/spec/server/{spec_helpers.rb → spec_helper.rb} +0 -0
- data/views/lanes_root_view.erb +70 -0
- data/views/specs.erb +2 -2
- metadata +207 -68
- data/client/images/lanes/dataTables/Sorting icons.psd +0 -0
- data/client/images/lanes/dataTables/back_disabled.png +0 -0
- data/client/images/lanes/dataTables/back_enabled.png +0 -0
- data/client/images/lanes/dataTables/back_enabled_hover.png +0 -0
- data/client/images/lanes/dataTables/favicon.ico +0 -0
- data/client/images/lanes/dataTables/forward_disabled.png +0 -0
- data/client/images/lanes/dataTables/forward_enabled.png +0 -0
- data/client/images/lanes/dataTables/forward_enabled_hover.png +0 -0
- data/client/images/lanes/dataTables/loading-background.png +0 -0
- data/client/images/lanes/dataTables/sort_asc.png +0 -0
- data/client/images/lanes/dataTables/sort_asc_disabled.png +0 -0
- data/client/images/lanes/dataTables/sort_both.png +0 -0
- data/client/images/lanes/dataTables/sort_desc.png +0 -0
- data/client/images/lanes/dataTables/sort_desc_disabled.png +0 -0
- data/client/lanes/components/shared/Resize.cjsx +0 -152
- data/client/lanes/components/shared/TextArea.cjsx +0 -19
- data/client/lanes/components/shared/TextField.cjsx +0 -25
- data/client/lanes/models/Bootstrap.coffee +0 -5
- data/client/lanes/models/QueryResults.coffee +0 -93
- data/client/lanes/react/FormBindings.coffee +0 -103
- data/client/lanes/react/Router.cjsx +0 -18
- data/client/lanes/styles/dataTables.scss +0 -4
- data/client/lanes/styles/plugins/all.scss +0 -2
- data/client/lanes/styles/plugins/resize-sensor.scss +0 -24
- data/client/lanes/vendor/jquery-2.js +0 -9190
- data/client/lanes/vendor/jquery.tap.js +0 -401
- data/client/lanes/vendor/magicsuggest.js +0 -1565
- data/client/lanes/vendor/message-bus.coffee +0 -264
- data/client/lanes/workspace/ActiveScreenSwitcher.cjsx +0 -38
- data/client/lanes/workspace/styles/toolbar.scss +0 -4
- data/lib/lanes/api/eco.js +0 -516
- data/lib/lanes/api/sprockets_compressor.rb +0 -39
- data/spec/command-reference-files/model/lib/appy-app.rb +0 -11
- data/views/index.erb +0 -19
Binary file
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
+
<svg xmlns="http://www.w3.org/2000/svg">
|
4
|
+
<metadata>Copyright (C) 2015 by original authors @ fontello.com</metadata>
|
5
|
+
<defs>
|
6
|
+
<font id="rw-widgets" horiz-adv-x="1000" >
|
7
|
+
<font-face font-family="rw-widgets" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
|
8
|
+
<missing-glyph horiz-adv-x="1000" />
|
9
|
+
<glyph glyph-name="up-dir" unicode="" d="m571 171q0-14-10-25t-25-10h-500q-15 0-25 10t-11 25 11 26l250 250q10 10 25 10t25-10l250-250q10-11 10-26z" horiz-adv-x="571.4" />
|
10
|
+
<glyph glyph-name="left-dir" unicode="" d="m357 600v-500q0-14-10-25t-26-11-25 11l-250 250q-10 11-10 25t10 25l250 250q11 11 25 11t26-11 10-25z" horiz-adv-x="357.1" />
|
11
|
+
<glyph glyph-name="right-dir" unicode="" d="m321 350q0-14-10-25l-250-250q-11-11-25-11t-25 11-11 25v500q0 15 11 25t25 11 25-11l250-250q10-10 10-25z" horiz-adv-x="357.1" />
|
12
|
+
<glyph glyph-name="down-dir" unicode="" d="m571 457q0-14-10-25l-250-250q-11-11-25-11t-25 11l-250 250q-11 11-11 25t11 25 25 11h500q14 0 25-11t10-25z" horiz-adv-x="571.4" />
|
13
|
+
<glyph glyph-name="calendar" unicode="" d="m71-79h161v161h-161v-161z m197 0h178v161h-178v-161z m-197 197h161v178h-161v-178z m197 0h178v178h-178v-178z m-197 214h161v161h-161v-161z m411-411h179v161h-179v-161z m-214 411h178v161h-178v-161z m428-411h161v161h-161v-161z m-214 197h179v178h-179v-178z m-196 482v161q0 7-6 12t-12 6h-36q-7 0-12-6t-6-12v-161q0-7 6-13t12-5h36q7 0 12 5t6 13z m410-482h161v178h-161v-178z m-214 214h179v161h-179v-161z m214 0h161v161h-161v-161z m18 268v161q0 7-5 12t-13 6h-35q-8 0-13-6t-5-12v-161q0-7 5-13t13-5h35q8 0 13 5t5 13z m215 36v-715q0-29-22-50t-50-21h-786q-29 0-50 21t-21 50v715q0 29 21 50t50 21h72v54q0 36 26 63t63 26h36q37 0 63-26t26-63v-54h214v54q0 36 27 63t63 26h35q37 0 63-26t27-63v-54h71q29 0 50-21t22-50z" horiz-adv-x="928.6" />
|
14
|
+
<glyph glyph-name="clock" unicode="" d="m500 546v-250q0-7-5-12t-13-5h-178q-8 0-13 5t-5 12v36q0 8 5 13t13 5h125v196q0 8 5 13t12 5h36q8 0 13-5t5-13z m232-196q0 83-41 152t-110 111-152 41-153-41-110-111-41-152 41-152 110-111 153-41 152 41 110 111 41 152z m125 0q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
|
15
|
+
<glyph glyph-name="search" unicode="" d="m643 386q0 103-74 176t-176 74-177-74-73-176 73-177 177-73 176 73 74 177z m286-465q0-29-22-50t-50-21q-30 0-50 21l-191 191q-100-69-223-69-80 0-153 31t-125 84-84 125-31 153 31 152 84 126 125 84 153 31 152-31 126-84 84-126 31-152q0-123-69-223l191-191q21-21 21-51z" horiz-adv-x="928.6" />
|
16
|
+
</font>
|
17
|
+
</defs>
|
18
|
+
</svg>
|
Binary file
|
Binary file
|
@@ -0,0 +1,345 @@
|
|
1
|
+
webpackJsonp([3],{
|
2
|
+
|
3
|
+
/***/ 0:
|
4
|
+
/***/ function(module, exports, __webpack_require__) {
|
5
|
+
|
6
|
+
/* WEBPACK VAR INJECTION */(function(global) {var Lanes = ( global.Lanes || (global.Lanes = {}) );
|
7
|
+
Lanes.Vendor = ( Lanes.Vendor || {} );
|
8
|
+
|
9
|
+
Lanes.Vendor.ReactToggle = __webpack_require__(1474)
|
10
|
+
__webpack_require__(1481);
|
11
|
+
|
12
|
+
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
|
13
|
+
|
14
|
+
/***/ },
|
15
|
+
|
16
|
+
/***/ 67:
|
17
|
+
/***/ function(module, exports, __webpack_require__) {
|
18
|
+
|
19
|
+
'use strict';
|
20
|
+
|
21
|
+
module.exports = __webpack_require__(68);
|
22
|
+
|
23
|
+
|
24
|
+
/***/ },
|
25
|
+
|
26
|
+
/***/ 1474:
|
27
|
+
/***/ function(module, exports, __webpack_require__) {
|
28
|
+
|
29
|
+
"use strict";
|
30
|
+
|
31
|
+
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
|
32
|
+
|
33
|
+
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
34
|
+
|
35
|
+
var React = _interopRequire(__webpack_require__(67));
|
36
|
+
|
37
|
+
var classNames = _interopRequire(__webpack_require__(1475));
|
38
|
+
|
39
|
+
var Check = _interopRequire(__webpack_require__(1476));
|
40
|
+
|
41
|
+
var X = _interopRequire(__webpack_require__(1477));
|
42
|
+
|
43
|
+
var PureRenderMixin = _interopRequire(__webpack_require__(1478));
|
44
|
+
|
45
|
+
module.exports = React.createClass({
|
46
|
+
mixins: [PureRenderMixin],
|
47
|
+
|
48
|
+
displayName: "Toggle",
|
49
|
+
|
50
|
+
propTypes: {
|
51
|
+
checked: React.PropTypes.bool,
|
52
|
+
defaultChecked: React.PropTypes.bool,
|
53
|
+
onChange: React.PropTypes.func,
|
54
|
+
name: React.PropTypes.string,
|
55
|
+
value: React.PropTypes.string,
|
56
|
+
id: React.PropTypes.string,
|
57
|
+
"aria-labelledby": React.PropTypes.string,
|
58
|
+
"aria-label": React.PropTypes.string
|
59
|
+
},
|
60
|
+
|
61
|
+
getInitialState: function getInitialState() {
|
62
|
+
var checked = false;
|
63
|
+
if ("checked" in this.props) {
|
64
|
+
checked = this.props.checked;
|
65
|
+
} else if ("defaultChecked" in this.props) {
|
66
|
+
checked = this.props.defaultChecked;
|
67
|
+
}
|
68
|
+
return {
|
69
|
+
checked: !!checked,
|
70
|
+
hasFocus: false
|
71
|
+
};
|
72
|
+
},
|
73
|
+
|
74
|
+
componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
|
75
|
+
if ("checked" in nextProps) {
|
76
|
+
this.setState({ checked: !!nextProps.checked });
|
77
|
+
}
|
78
|
+
},
|
79
|
+
|
80
|
+
handleClick: function handleClick(event) {
|
81
|
+
var checkbox = this.refs.input;
|
82
|
+
if (event.target !== checkbox) {
|
83
|
+
event.preventDefault();
|
84
|
+
checkbox.focus();
|
85
|
+
checkbox.click();
|
86
|
+
return;
|
87
|
+
}
|
88
|
+
|
89
|
+
if (!("checked" in this.props)) {
|
90
|
+
this.setState({ checked: checkbox.checked });
|
91
|
+
}
|
92
|
+
},
|
93
|
+
|
94
|
+
handleFocus: function handleFocus() {
|
95
|
+
this.setState({ hasFocus: true });
|
96
|
+
},
|
97
|
+
|
98
|
+
handleBlur: function handleBlur() {
|
99
|
+
this.setState({ hasFocus: false });
|
100
|
+
},
|
101
|
+
|
102
|
+
render: function render() {
|
103
|
+
var classes = classNames("react-toggle", {
|
104
|
+
"react-toggle--checked": this.state.checked,
|
105
|
+
"react-toggle--focus": this.state.hasFocus,
|
106
|
+
"react-toggle--disabled": this.props.disabled
|
107
|
+
});
|
108
|
+
|
109
|
+
return React.createElement(
|
110
|
+
"div",
|
111
|
+
{ className: classes, onClick: this.handleClick },
|
112
|
+
React.createElement(
|
113
|
+
"div",
|
114
|
+
{ className: "react-toggle-track" },
|
115
|
+
React.createElement(
|
116
|
+
"div",
|
117
|
+
{ className: "react-toggle-track-check" },
|
118
|
+
React.createElement(Check, null)
|
119
|
+
),
|
120
|
+
React.createElement(
|
121
|
+
"div",
|
122
|
+
{ className: "react-toggle-track-x" },
|
123
|
+
React.createElement(X, null)
|
124
|
+
)
|
125
|
+
),
|
126
|
+
React.createElement("div", { className: "react-toggle-thumb" }),
|
127
|
+
React.createElement("input", _extends({
|
128
|
+
ref: "input",
|
129
|
+
onFocus: this.handleFocus,
|
130
|
+
onBlur: this.handleBlur,
|
131
|
+
className: "react-toggle-screenreader-only",
|
132
|
+
type: "checkbox"
|
133
|
+
}, this.props))
|
134
|
+
);
|
135
|
+
}
|
136
|
+
});
|
137
|
+
|
138
|
+
|
139
|
+
/***/ },
|
140
|
+
|
141
|
+
/***/ 1475:
|
142
|
+
/***/ function(module, exports, __webpack_require__) {
|
143
|
+
|
144
|
+
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
|
145
|
+
Copyright (c) 2015 Jed Watson.
|
146
|
+
Licensed under the MIT License (MIT), see
|
147
|
+
http://jedwatson.github.io/classnames
|
148
|
+
*/
|
149
|
+
|
150
|
+
function classNames() {
|
151
|
+
var classes = '';
|
152
|
+
var arg;
|
153
|
+
|
154
|
+
for (var i = 0; i < arguments.length; i++) {
|
155
|
+
arg = arguments[i];
|
156
|
+
if (!arg) {
|
157
|
+
continue;
|
158
|
+
}
|
159
|
+
|
160
|
+
if ('string' === typeof arg || 'number' === typeof arg) {
|
161
|
+
classes += ' ' + arg;
|
162
|
+
} else if (Object.prototype.toString.call(arg) === '[object Array]') {
|
163
|
+
classes += ' ' + classNames.apply(null, arg);
|
164
|
+
} else if ('object' === typeof arg) {
|
165
|
+
for (var key in arg) {
|
166
|
+
if (!arg.hasOwnProperty(key) || !arg[key]) {
|
167
|
+
continue;
|
168
|
+
}
|
169
|
+
classes += ' ' + key;
|
170
|
+
}
|
171
|
+
}
|
172
|
+
}
|
173
|
+
return classes.substr(1);
|
174
|
+
}
|
175
|
+
|
176
|
+
// safely export classNames for node / browserify
|
177
|
+
if (typeof module !== 'undefined' && module.exports) {
|
178
|
+
module.exports = classNames;
|
179
|
+
}
|
180
|
+
|
181
|
+
// safely export classNames for RequireJS
|
182
|
+
if (true) {
|
183
|
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function() {
|
184
|
+
return classNames;
|
185
|
+
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
186
|
+
}
|
187
|
+
|
188
|
+
|
189
|
+
/***/ },
|
190
|
+
|
191
|
+
/***/ 1476:
|
192
|
+
/***/ function(module, exports, __webpack_require__) {
|
193
|
+
|
194
|
+
"use strict";
|
195
|
+
|
196
|
+
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
|
197
|
+
|
198
|
+
var React = _interopRequire(__webpack_require__(67));
|
199
|
+
|
200
|
+
module.exports = React.createClass({
|
201
|
+
displayName: "check.es6",
|
202
|
+
|
203
|
+
render: function render() {
|
204
|
+
return React.createElement(
|
205
|
+
"svg",
|
206
|
+
{ width: "14", height: "11", viewBox: "0 0 14 11", xmlns: "http://www.w3.org/2000/svg" },
|
207
|
+
React.createElement(
|
208
|
+
"title",
|
209
|
+
null,
|
210
|
+
"switch-check"
|
211
|
+
),
|
212
|
+
React.createElement("path", { d: "M11.264 0L5.26 6.004 2.103 2.847 0 4.95l5.26 5.26 8.108-8.107L11.264 0", fill: "#fff", "fill-rule": "evenodd" })
|
213
|
+
);
|
214
|
+
}
|
215
|
+
});
|
216
|
+
|
217
|
+
|
218
|
+
/***/ },
|
219
|
+
|
220
|
+
/***/ 1477:
|
221
|
+
/***/ function(module, exports, __webpack_require__) {
|
222
|
+
|
223
|
+
"use strict";
|
224
|
+
|
225
|
+
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
|
226
|
+
|
227
|
+
var React = _interopRequire(__webpack_require__(67));
|
228
|
+
|
229
|
+
module.exports = React.createClass({
|
230
|
+
displayName: "x.es6",
|
231
|
+
|
232
|
+
render: function render() {
|
233
|
+
return React.createElement(
|
234
|
+
"svg",
|
235
|
+
{ width: "10", height: "10", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg" },
|
236
|
+
React.createElement(
|
237
|
+
"title",
|
238
|
+
null,
|
239
|
+
"switch-x"
|
240
|
+
),
|
241
|
+
React.createElement("path", { d: "M9.9 2.12L7.78 0 4.95 2.828 2.12 0 0 2.12l2.83 2.83L0 7.776 2.123 9.9 4.95 7.07 7.78 9.9 9.9 7.776 7.072 4.95 9.9 2.12", fill: "#fff", "fill-rule": "evenodd" })
|
242
|
+
);
|
243
|
+
}
|
244
|
+
});
|
245
|
+
|
246
|
+
|
247
|
+
/***/ },
|
248
|
+
|
249
|
+
/***/ 1478:
|
250
|
+
/***/ function(module, exports, __webpack_require__) {
|
251
|
+
|
252
|
+
module.exports = __webpack_require__(1479);
|
253
|
+
|
254
|
+
/***/ },
|
255
|
+
|
256
|
+
/***/ 1479:
|
257
|
+
/***/ function(module, exports, __webpack_require__) {
|
258
|
+
|
259
|
+
/**
|
260
|
+
* Copyright 2013-2015, Facebook, Inc.
|
261
|
+
* All rights reserved.
|
262
|
+
*
|
263
|
+
* This source code is licensed under the BSD-style license found in the
|
264
|
+
* LICENSE file in the root directory of this source tree. An additional grant
|
265
|
+
* of patent rights can be found in the PATENTS file in the same directory.
|
266
|
+
*
|
267
|
+
* @providesModule ReactComponentWithPureRenderMixin
|
268
|
+
*/
|
269
|
+
|
270
|
+
'use strict';
|
271
|
+
|
272
|
+
var shallowCompare = __webpack_require__(1480);
|
273
|
+
|
274
|
+
/**
|
275
|
+
* If your React component's render function is "pure", e.g. it will render the
|
276
|
+
* same result given the same props and state, provide this Mixin for a
|
277
|
+
* considerable performance boost.
|
278
|
+
*
|
279
|
+
* Most React components have pure render functions.
|
280
|
+
*
|
281
|
+
* Example:
|
282
|
+
*
|
283
|
+
* var ReactComponentWithPureRenderMixin =
|
284
|
+
* require('ReactComponentWithPureRenderMixin');
|
285
|
+
* React.createClass({
|
286
|
+
* mixins: [ReactComponentWithPureRenderMixin],
|
287
|
+
*
|
288
|
+
* render: function() {
|
289
|
+
* return <div className={this.props.className}>foo</div>;
|
290
|
+
* }
|
291
|
+
* });
|
292
|
+
*
|
293
|
+
* Note: This only checks shallow equality for props and state. If these contain
|
294
|
+
* complex data structures this mixin may have false-negatives for deeper
|
295
|
+
* differences. Only mixin to components which have simple props and state, or
|
296
|
+
* use `forceUpdate()` when you know deep data structures have changed.
|
297
|
+
*/
|
298
|
+
var ReactComponentWithPureRenderMixin = {
|
299
|
+
shouldComponentUpdate: function (nextProps, nextState) {
|
300
|
+
return shallowCompare(this, nextProps, nextState);
|
301
|
+
}
|
302
|
+
};
|
303
|
+
|
304
|
+
module.exports = ReactComponentWithPureRenderMixin;
|
305
|
+
|
306
|
+
/***/ },
|
307
|
+
|
308
|
+
/***/ 1480:
|
309
|
+
/***/ function(module, exports, __webpack_require__) {
|
310
|
+
|
311
|
+
/**
|
312
|
+
* Copyright 2013-2015, Facebook, Inc.
|
313
|
+
* All rights reserved.
|
314
|
+
*
|
315
|
+
* This source code is licensed under the BSD-style license found in the
|
316
|
+
* LICENSE file in the root directory of this source tree. An additional grant
|
317
|
+
* of patent rights can be found in the PATENTS file in the same directory.
|
318
|
+
*
|
319
|
+
* @providesModule shallowCompare
|
320
|
+
*/
|
321
|
+
|
322
|
+
'use strict';
|
323
|
+
|
324
|
+
var shallowEqual = __webpack_require__(183);
|
325
|
+
|
326
|
+
/**
|
327
|
+
* Does a shallow comparison for props and state.
|
328
|
+
* See ReactComponentWithPureRenderMixin
|
329
|
+
*/
|
330
|
+
function shallowCompare(instance, nextProps, nextState) {
|
331
|
+
return !shallowEqual(instance.props, nextProps) || !shallowEqual(instance.state, nextState);
|
332
|
+
}
|
333
|
+
|
334
|
+
module.exports = shallowCompare;
|
335
|
+
|
336
|
+
/***/ },
|
337
|
+
|
338
|
+
/***/ 1481:
|
339
|
+
/***/ function(module, exports) {
|
340
|
+
|
341
|
+
// removed by extract-text-webpack-plugin
|
342
|
+
|
343
|
+
/***/ }
|
344
|
+
|
345
|
+
});
|
@@ -0,0 +1,138 @@
|
|
1
|
+
.react-toggle {
|
2
|
+
display: inline-block;
|
3
|
+
position: relative;
|
4
|
+
cursor: pointer;
|
5
|
+
background-color: transparent;
|
6
|
+
border: 0;
|
7
|
+
padding: 0;
|
8
|
+
|
9
|
+
-webkit-touch-callout: none;
|
10
|
+
-webkit-user-select: none;
|
11
|
+
-khtml-user-select: none;
|
12
|
+
-moz-user-select: none;
|
13
|
+
-ms-user-select: none;
|
14
|
+
user-select: none;
|
15
|
+
|
16
|
+
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
17
|
+
-webkit-tap-highlight-color: transparent;
|
18
|
+
}
|
19
|
+
|
20
|
+
.react-toggle-screenreader-only {
|
21
|
+
border: 0;
|
22
|
+
clip: rect(0 0 0 0);
|
23
|
+
height: 1px;
|
24
|
+
margin: -1px;
|
25
|
+
overflow: hidden;
|
26
|
+
padding: 0;
|
27
|
+
position: absolute;
|
28
|
+
width: 1px;
|
29
|
+
}
|
30
|
+
|
31
|
+
.react-toggle--disabled {
|
32
|
+
opacity: 0.5;
|
33
|
+
-webkit-transition: opacity 0.25s;
|
34
|
+
transition: opacity 0.25s;
|
35
|
+
}
|
36
|
+
|
37
|
+
.react-toggle-track {
|
38
|
+
width: 50px;
|
39
|
+
height: 24px;
|
40
|
+
padding: 0;
|
41
|
+
border-radius: 30px;
|
42
|
+
background-color: #4D4D4D;
|
43
|
+
-webkit-transition: all 0.2s ease;
|
44
|
+
-moz-transition: all 0.2s ease;
|
45
|
+
transition: all 0.2s ease;
|
46
|
+
}
|
47
|
+
|
48
|
+
.react-toggle:hover .react-toggle-track {
|
49
|
+
background-color: #000000;
|
50
|
+
}
|
51
|
+
|
52
|
+
.react-toggle--checked .react-toggle-track {
|
53
|
+
background-color: #19AB27;
|
54
|
+
}
|
55
|
+
|
56
|
+
.react-toggle.react-toggle--checked:hover .react-toggle-track {
|
57
|
+
background-color: #128D15;
|
58
|
+
}
|
59
|
+
|
60
|
+
.react-toggle-track-check {
|
61
|
+
position: absolute;
|
62
|
+
width: 14px;
|
63
|
+
height: 10px;
|
64
|
+
top: 0px;
|
65
|
+
bottom: 0px;
|
66
|
+
margin-top: auto;
|
67
|
+
margin-bottom: auto;
|
68
|
+
line-height: 0;
|
69
|
+
left: 8px;
|
70
|
+
opacity: 0;
|
71
|
+
-webkit-transition: opacity 0.25s ease;
|
72
|
+
-moz-transition: opacity 0.25s ease;
|
73
|
+
transition: opacity 0.25s ease;
|
74
|
+
}
|
75
|
+
|
76
|
+
.react-toggle--checked .react-toggle-track-check {
|
77
|
+
opacity: 1;
|
78
|
+
-webkit-transition: opacity 0.25s ease;
|
79
|
+
-moz-transition: opacity 0.25s ease;
|
80
|
+
transition: opacity 0.25s ease;
|
81
|
+
}
|
82
|
+
|
83
|
+
.react-toggle-track-x {
|
84
|
+
position: absolute;
|
85
|
+
width: 10px;
|
86
|
+
height: 10px;
|
87
|
+
top: 0px;
|
88
|
+
bottom: 0px;
|
89
|
+
margin-top: auto;
|
90
|
+
margin-bottom: auto;
|
91
|
+
line-height: 0;
|
92
|
+
right: 10px;
|
93
|
+
opacity: 1;
|
94
|
+
-webkit-transition: opacity 0.25s ease;
|
95
|
+
-moz-transition: opacity 0.25s ease;
|
96
|
+
transition: opacity 0.25s ease;
|
97
|
+
}
|
98
|
+
|
99
|
+
.react-toggle--checked .react-toggle-track-x {
|
100
|
+
opacity: 0;
|
101
|
+
}
|
102
|
+
|
103
|
+
.react-toggle-thumb {
|
104
|
+
transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0ms;
|
105
|
+
position: absolute;
|
106
|
+
top: 1px;
|
107
|
+
left: 1px;
|
108
|
+
width: 22px;
|
109
|
+
height: 22px;
|
110
|
+
border: 1px solid #4D4D4D;
|
111
|
+
border-radius: 50%;
|
112
|
+
background-color: #FAFAFA;
|
113
|
+
|
114
|
+
-webkit-box-sizing: border-box;
|
115
|
+
-moz-box-sizing: border-box;
|
116
|
+
box-sizing: border-box;
|
117
|
+
|
118
|
+
-webkit-transition: all 0.25s ease;
|
119
|
+
-moz-transition: all 0.25s ease;
|
120
|
+
transition: all 0.25s ease;
|
121
|
+
}
|
122
|
+
|
123
|
+
.react-toggle--checked .react-toggle-thumb {
|
124
|
+
left: 27px;
|
125
|
+
border-color: #19AB27;
|
126
|
+
}
|
127
|
+
|
128
|
+
.react-toggle--focus .react-toggle-thumb {
|
129
|
+
-webkit-box-shadow: 0px 0px 3px 2px #0099E0;
|
130
|
+
-moz-box-shadow: 0px 0px 3px 2px #0099E0;
|
131
|
+
box-shadow: 0px 0px 2px 3px #0099E0;
|
132
|
+
}
|
133
|
+
|
134
|
+
.react-toggle:active .react-toggle-thumb {
|
135
|
+
-webkit-box-shadow: 0px 0px 5px 5px #0099E0;
|
136
|
+
-moz-box-shadow: 0px 0px 5px 5px #0099E0;
|
137
|
+
box-shadow: 0px 0px 5px 5px #0099E0;
|
138
|
+
}
|