ende 0.4.5 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/lib/assets/javascripts/aura/extensions/devise.js.coffee +0 -2
  3. data/lib/assets/javascripts/aura/extensions/platform.js.coffee +3 -0
  4. data/lib/assets/javascripts/aura/extensions/rivets.js.coffee +17 -1
  5. data/lib/assets/javascripts/aura/extensions/routes.js.coffee +8 -7
  6. data/lib/assets/javascripts/aura/extensions/states.js.coffee +13 -1
  7. data/lib/assets/javascripts/aura/extensions/widget/eventable.js.coffee +4 -2
  8. data/lib/assets/javascripts/config/load_components.js.coffee +19 -12
  9. data/lib/assets/javascripts/ende.js.coffee +33 -12
  10. data/lib/ende/version.rb +1 -1
  11. data/vendor/assets/components/build.css +111 -0
  12. data/vendor/assets/components/ende_build.js +160 -41
  13. data/vendor/components/indefinido-indemma/build/development.js +3 -118
  14. data/vendor/components/indefinido-indemma/build/release.js +39 -4170
  15. data/vendor/components/indefinido-indemma/build/test.js +3 -118
  16. data/vendor/components/indefinido-indemma/lib/record/associable.js +10 -2
  17. data/vendor/components/indefinido-indemma/lib/record/restfulable.js +26 -15
  18. data/vendor/components/indefinido-indemma/lib/record.js +3 -1
  19. data/vendor/components/indefinido-indemma/src/lib/record/associable.coffee +15 -1
  20. data/vendor/components/indefinido-indemma/src/lib/record/restfulable.coffee +37 -12
  21. data/vendor/components/indefinido-indemma/src/lib/record.coffee +3 -1
  22. data/vendor/components/indefinido-observable/.gitignore +15 -0
  23. data/vendor/components/indefinido-observable/.ruby-gemset +1 -0
  24. data/vendor/components/indefinido-observable/.ruby-version +1 -0
  25. data/vendor/components/indefinido-observable/Gemfile +13 -0
  26. data/vendor/components/indefinido-observable/Guardfile +39 -0
  27. data/vendor/components/indefinido-observable/History.md +0 -0
  28. data/vendor/components/indefinido-observable/Readme.md +116 -0
  29. data/vendor/components/indefinido-observable/build/build.js +14798 -0
  30. data/vendor/components/indefinido-observable/build/development.js +339 -0
  31. data/vendor/components/indefinido-observable/build/release.js +14937 -0
  32. data/vendor/components/indefinido-observable/build/test.js +339 -0
  33. data/vendor/components/indefinido-observable/component.json +5 -1
  34. data/vendor/components/indefinido-observable/components/chaijs-chai/component.json +46 -0
  35. data/vendor/components/indefinido-observable/components/chaijs-chai/index.js +1 -0
  36. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/assertion.js +132 -0
  37. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/core/assertions.js +1270 -0
  38. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/error.js +60 -0
  39. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/interface/assert.js +1060 -0
  40. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/interface/expect.js +12 -0
  41. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/interface/should.js +76 -0
  42. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/addChainableMethod.js +94 -0
  43. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/addMethod.js +37 -0
  44. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/addProperty.js +40 -0
  45. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/eql.js +124 -0
  46. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/flag.js +32 -0
  47. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getActual.js +19 -0
  48. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getEnumerableProperties.js +25 -0
  49. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getMessage.js +49 -0
  50. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getName.js +20 -0
  51. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getPathValue.js +102 -0
  52. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getProperties.js +35 -0
  53. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/index.js +108 -0
  54. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/inspect.js +316 -0
  55. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/objDisplay.js +48 -0
  56. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/overwriteMethod.js +51 -0
  57. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/overwriteProperty.js +54 -0
  58. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/test.js +26 -0
  59. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/transferFlags.js +44 -0
  60. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/type.js +45 -0
  61. data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai.js +79 -0
  62. data/vendor/components/indefinido-observable/components/component-jquery/component.json +14 -0
  63. data/vendor/components/indefinido-observable/components/component-jquery/index.js +9601 -0
  64. data/vendor/components/indefinido-observable/components/kapit-observe-shim/component.json +11 -0
  65. data/vendor/components/indefinido-observable/components/kapit-observe-utils/component.json +13 -0
  66. data/vendor/components/indefinido-observable/karma.conf.js +92 -0
  67. data/vendor/components/indefinido-observable/lib/adapters/rivets.js +3 -1
  68. data/vendor/components/indefinido-observable/lib/observable.js +47 -13
  69. data/vendor/components/indefinido-observable/spec/legacy/observable_spec.js +126 -0
  70. data/vendor/components/indefinido-observable/spec/observable_spec.js +92 -0
  71. data/vendor/components/indefinido-observable/spec/spec_helper.js +8 -0
  72. data/vendor/components/indefinido-observable/spec/vendor/accessors_spec.js +63 -0
  73. data/vendor/components/indefinido-observable/src/lib/adapters/rivets.js.coffee +15 -0
  74. data/vendor/components/indefinido-observable/src/spec/legacy/observable_spec.coffee +132 -0
  75. data/vendor/components/indefinido-observable/src/spec/observable_spec.coffee +85 -0
  76. data/vendor/components/indefinido-observable/src/spec/spec_helper.coffee +5 -0
  77. data/vendor/components/indefinido-observable/src/spec/vendor/accessors_spec.coffee +59 -0
  78. data/vendor/components/indefinido-observable/vendor/shims/accessors.js +71 -9
  79. data/vendor/components/indefinido-observable/vendor/spec/boot.js +104 -0
  80. data/vendor/components/indefinido-observable/vendor/spec/jasmine.js +2054 -0
  81. metadata +58 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 77326bb1ae8e8f462c74148ac7dee0d927123810
4
- data.tar.gz: e95a8ebc3fb093e12fdc7d6dffe2e913fc951ece
3
+ metadata.gz: bc8dff9c0479d83c8085ff175d38f9cdc0d1199f
4
+ data.tar.gz: 3327dd1a52e3555c3aee4c1b8397a60013ff82ab
5
5
  SHA512:
6
- metadata.gz: 01c9fa286f8adcd1ea0d85bd03b870e074a1d5b10fdd5b4b8da296b51de84c1aaa23fcdcb917bb0ab213ee7dc22132aff2a669bd5b86dbd92f7aa5f9c6958f52
7
- data.tar.gz: b5961bc6db5a99e2d5289b14de0ab8f52bcb79268f5ea4aa461fa676d42dd213e39c1f779f2d75d6b2227e6105d34420ddca94b3aa971d53c40b65522d0c1451
6
+ metadata.gz: ee32a68199bddfe215d5e7af4403fe2057d43712837ae8b5df5727e143b9cc68b9e8c0709043d5c6706919a7398d7b010ebca22dadc3e91b848a342ec7075b54
7
+ data.tar.gz: e3a8e137cfc3a781f6d0930f8d56d157a0a03a2681f0d0a44bb0362d338284b32062365b5a0f4f4736cb330bb5a8d6b9b341dde4bf400338776533b7aa216891
@@ -1,7 +1,5 @@
1
1
  'use strict'
2
2
 
3
- root = exports ? this
4
-
5
3
  define 'aura/extensions/devise', ->
6
4
 
7
5
  sandbox = null
@@ -2,6 +2,9 @@
2
2
 
3
3
  define 'aura/extensions/platform', ->
4
4
 
5
+ # TODO require shims, and other fixes here, and make it part of ende
6
+ # inestead of an extension
7
+
5
8
  name: 'platform'
6
9
  version: '0.1.0'
7
10
  initialize: (application) ->
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
-
4
3
  # TODO require formatters through aura instead of directly loding a module
5
4
  define 'aura/extensions/rivets', ['aura/extensions/rivets/formatters'], (formatters) ->
6
5
 
@@ -23,6 +22,23 @@ define 'aura/extensions/rivets', ['aura/extensions/rivets/formatters'], (formatt
23
22
  prefix: ''
24
23
  templateDelimiters: ['{{', '}}']
25
24
 
25
+
26
+ # Create Node Types list for legacy browsers
27
+ #
28
+ # TODO externalize this to a shims file and pehaps put it on
29
+ # platform extension
30
+ try
31
+ throw true if (Node.ELEMENT_NODE != 1)
32
+ catch e
33
+ window.Node = document.Node =
34
+ ELEMENT_NODE : 1
35
+ ATTRIBUTE_NODE : 2
36
+ TEXT_NODE : 3
37
+ CDATA_SECTION_NODE : 4
38
+ ENTITY_REFERENCE_NODE : 5
39
+ ENTITY_NODE : 6
40
+
41
+ # TOOD move rivets view to another file
26
42
  # Custom rivets view because we don't want to prefix attributes
27
43
  # Rivets.View
28
44
  # -----------
@@ -67,7 +67,7 @@ define 'aura/extensions/routes', (routes) ->
67
67
  context[paramKeys[j - 1].replace(/:/g, '')] = params[j]
68
68
  j++
69
69
 
70
- if ( @current_route )
70
+ if @current_route
71
71
 
72
72
  #-- Don't dispatch the route we are already on
73
73
  if ( @current_route.path == route.path && @current_route.search == search)
@@ -79,20 +79,22 @@ define 'aura/extensions/routes', (routes) ->
79
79
  application.logger.info('Exiting', @current_route.path, 'with', context || {})
80
80
 
81
81
  #-- Execute the callback
82
- if ( 'function' == typeof @current_route.exitEventName )
83
- @current_route.exitEventName(context || {})
82
+ if 'function' == typeof @current_route.exitEventName
83
+ @current_route.exitEventName context || {}
84
+ else
84
85
  #-- Run the publish event
85
- options.publishEvent(@current_route.exitEventName, context || {})
86
+ @publishEvent(@current_route.exitEventName, context || {})
86
87
 
87
88
  #-- Update the current route
88
89
  @last_route = @current_route
89
90
  @current_route = route
90
91
 
91
92
  #-- Update the current route search string
92
- @current_route.search = search
93
+ @current_route.search = search
94
+ @current_route.last_contextualized_path = path
93
95
 
94
96
  #-- Dispatch
95
- return @dispatch(route, context)
97
+ return @dispatch route, context
96
98
 
97
99
 
98
100
  #-- No route has been found, hence, nothing dispatched
@@ -114,7 +116,6 @@ define 'aura/extensions/routes', (routes) ->
114
116
  # logger: application.logger
115
117
  publishEvent: lennon_extensions.publishEvent
116
118
 
117
-
118
119
  application.core.router = core.util.extend router, lennon_extensions
119
120
 
120
121
  location = Object.create null,
@@ -132,6 +132,18 @@ define 'aura/extensions/states', ['application/states'], (states) ->
132
132
  else
133
133
  current_start = application.core.start
134
134
  application.core.start = ->
135
+ # If any initialized flow changed the application state
136
+ # before the widgets initialization, store its state pass
137
+ # through the default state and go back to the old state
138
+ # created by the flows
139
+ #
140
+ # TODO initialize the first flow in flows extension
141
+ current_state = application.state if application.state != 'initialization'
135
142
  application.state = "default"
143
+
136
144
  application.core.start = current_start
137
- current_start.apply @, arguments
145
+ startup = current_start.apply @, arguments
146
+
147
+ application.state = current_state if current_state?
148
+
149
+ startup
@@ -1,6 +1,6 @@
1
- define 'aura/extensions/widget/eventable', ->
1
+ 'use strict';
2
2
 
3
- 'use strict';
3
+ define 'aura/extensions/widget/eventable', ['es6-map-shim'], ->
4
4
 
5
5
  extractor = /.*?\$(.*?)@(.*?)\+(.*?)/
6
6
 
@@ -39,6 +39,8 @@ define 'aura/extensions/widget/eventable', ->
39
39
  @
40
40
 
41
41
 
42
+ version: '0.1.0'
43
+
42
44
  initialize: (application) ->
43
45
  with_component = 'segmentio-extend'
44
46
  extend = require with_component
@@ -60,24 +60,28 @@ define 'config/load_components', ['application_components'], ->
60
60
  # Little object class to merge component require and requirejs require
61
61
  loader =
62
62
  shim: ->
63
+ component = require
64
+
63
65
  # Store loaders functions
64
- loader.loaders.component = require
66
+ loader.loaders.component = component
65
67
  loader.loaders.requirejs = requirejs
66
68
  loader.activate.define = root.define
67
69
 
68
70
  # Expand require fuction with requirejs configurations
69
71
  # so we can require without great problems
70
- loader.require.config = requirejs.config
71
- loader.require.s = requirejs.s
72
+ aliases = ['config', 's']
73
+ loader.require[alias] = requirejs[alias] for alias in aliases
72
74
 
73
- initialize: ->
74
- with_component = 'segmentio-extend'
75
- extend = require with_component
76
- extend loader.require, require
75
+ aliases = ['aliases', 'modules', 'alias', 'normalize', 'resolve', 'relative', 'register']
76
+ loader.require[alias] = component[alias] for alias in aliases
77
77
 
78
- # Override global require for ower one
78
+
79
+ initialize: ->
80
+ # Override global require for ouer one
79
81
  root.require = loader.require
80
- root.loader = loader
82
+
83
+ # TODO remove global loader and use requirejs instead
84
+ root.loader = @
81
85
 
82
86
  # Resource loaders compatibility
83
87
  loaders:
@@ -92,7 +96,9 @@ define 'config/load_components', ['application_components'], ->
92
96
  else
93
97
  requirer = 'component'
94
98
 
95
- @activate (requirer) and requirer
99
+ @activate requirer
100
+
101
+ requirer
96
102
 
97
103
  activate: (requirer) ->
98
104
  switch requirer
@@ -115,8 +121,9 @@ define 'config/load_components', ['application_components'], ->
115
121
  module = loader.loaders.discovered.apply @, params
116
122
 
117
123
  catch e
118
- console.warn 'Failed to load \'', params[0], "' with #{using}: Error: '", e.message, '\'. Trying with requirejs.'
119
- console.error params[0]
124
+ # TODO better loggin support
125
+ (app?.logger || console).warn "loader: Failed to load '#{params[0]}' with #{using}: \n Exception: '#{e.message}'. Trying with requirejs."
126
+
120
127
  loader.activate 'requirejs'
121
128
  module = loader.loaders.discovered.apply @, params unless module
122
129
 
@@ -1,20 +1,41 @@
1
1
  # TODO think if require jquery and jquery inview in this place is actualy a good idead
2
-
3
-
4
2
  # TODO use requirejs alias / packing modules definition for this
5
- define 'ende', ['config/load_components', 'config/initializers', 'jquery.ujs'], ->
6
-
7
- # Override defaults components definition
8
- # TODO better way to forward component modules to application
9
- define 'observable' , [], -> require("indefinido-observable").mixin
10
- define 'advisable' , [], -> require("indefinido-advisable").mixin
3
+ define 'ende', ['config/load_components', 'config/initializers', 'jquery.ujs', 'es6-shim'], ->
11
4
 
12
5
  # TODO FIX THIS!
13
6
  require.register('observable', (r, e, module) -> module.exports = require("indefinido-observable").mixin)
14
7
  require.register('advisable' , (r, e, module) -> module.exports = require("indefinido-advisable").mixin )
15
8
 
16
- # TODO rename ened to ende, move shims to an extension
17
- define 'es5-shim' , ['observable'], -> require "ened/vendor/assets/javascripts/polyfills/es5-shim.js"
18
- define 'es6-map-shim' , ['es5-shim'] , -> require "ened/vendor/assets/javascripts/polyfills/es6-map-shim.js"
19
- define 'es6-shim' , ['es5-shim'] , -> require "paulmillr-es6-shim"
9
+ # TODO rename ened to ende, move shims to an extension
10
+ define 'es5-shim' , ['config/load_components'], -> require "ened/vendor/assets/javascripts/polyfills/es5-shim.js"
11
+ define 'es6-map-shim' , ['es5-shim' , 'config/load_components'], ->
12
+ require "indefinido-observable/vendor/shims/object.create.js"
13
+
14
+ # TODO improve map shimming
15
+ if (!Object.defineProperties)
16
+ undefine = true
17
+ Object.defineProperties = (object, properties) ->
18
+ for name, descriptor of properties
19
+ object[name] = descriptor.value
20
+
21
+ object
22
+
23
+ require "ened/vendor/assets/javascripts/polyfills/es6-map-shim.js"
24
+
25
+ delete Object.defineProperties if undefine
26
+
27
+ define 'es6-shim' , ['es6-map-shim', 'es5-shim' , 'config/load_components'], ->
28
+ # Fix wrong object order definition in internet explorer
29
+ # TODO send a pull request to use dependency only after object definition
30
+ require "paulmillr-es6-shim"
31
+
32
+ # TODO only load relevante polyfills for getter and setters
33
+ require "indefinido-observable"
34
+
20
35
 
36
+ # Override defaults components definition, and force observable
37
+ # loading after es6-shim, so it does not define collectionShims
38
+ #
39
+ # TODO better way to forward component modules to application
40
+ define 'observable' , ['es6-shim', 'config/load_components'], -> require("indefinido-observable").mixin
41
+ define 'advisable' , ['config/load_components'], -> require("indefinido-advisable").mixin
data/lib/ende/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ende
2
- VERSION = "0.4.5"
2
+ VERSION = "0.4.6"
3
3
  end
@@ -0,0 +1,111 @@
1
+ .overlay {
2
+ position: absolute;
3
+ top: 0;
4
+ left: 0;
5
+ opacity: 1;
6
+ width: 100%;
7
+ height: 100%;
8
+ background: rgba(0,0,0,.75);
9
+ -webkit-transition: opacity 300ms;
10
+ -moz-transition: opacity 300ms;
11
+ transition: opacity 300ms;
12
+ z-index: 500;
13
+ }
14
+
15
+ .overlay.hide {
16
+ pointer-events: none;
17
+ opacity: 0;
18
+ }
19
+
20
+ #dialog {
21
+ position: fixed;
22
+ left: 50%;
23
+ top: 150px;
24
+ max-width: 600px;
25
+ min-width: 250px;
26
+ border: 1px solid #eee;
27
+ background: white;
28
+ z-index: 1000;
29
+ }
30
+
31
+ #dialog .content {
32
+ padding: 15px 20px;
33
+ }
34
+
35
+ #dialog h1 {
36
+ margin: 0 0 5px 0;
37
+ font-size: 16px;
38
+ font-weight: normal;
39
+ }
40
+
41
+ #dialog p {
42
+ margin: 0;
43
+ padding: 0;
44
+ font-size: .9em;
45
+ }
46
+
47
+ /* close */
48
+
49
+ #dialog .close {
50
+ position: absolute;
51
+ top: 3px;
52
+ right: 10px;
53
+ text-decoration: none;
54
+ color: #888;
55
+ font-size: 16px;
56
+ font-weight: bold;
57
+ display: none;
58
+ }
59
+
60
+ #dialog .close em {
61
+ display: none;
62
+ }
63
+
64
+ #dialog.closable .close {
65
+ display: block;
66
+ }
67
+
68
+ #dialog .close:hover {
69
+ color: black;
70
+ }
71
+
72
+ #dialog .close:active {
73
+ margin-top: 1px;
74
+ }
75
+
76
+ /* slide */
77
+
78
+ #dialog.slide {
79
+ -webkit-transition: opacity 300ms, top 300ms;
80
+ -moz-transition: opacity 300ms, top 300ms;
81
+ }
82
+
83
+ #dialog.slide.hide {
84
+ opacity: 0;
85
+ top: -500px;
86
+ }
87
+
88
+ /* fade */
89
+
90
+ #dialog.fade {
91
+ -webkit-transition: opacity 300ms;
92
+ -moz-transition: opacity 300ms;
93
+ }
94
+
95
+ #dialog.fade.hide {
96
+ opacity: 0;
97
+ }
98
+
99
+ /* scale */
100
+
101
+ #dialog.scale {
102
+ -webkit-transition: -webkit-transform 300ms;
103
+ -moz-transition: -moz-transform 300ms;
104
+ -webkit-transform: scale(1);
105
+ -moz-transform: scale(1);
106
+ }
107
+
108
+ #dialog.scale.hide {
109
+ -webkit-transform: scale(0);
110
+ -moz-transform: scale(0);
111
+ }