ende 0.4.20 → 0.4.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -3
- data/build/build.css +111 -0
- data/component.json +1 -0
- data/lib/assets/javascripts/aura/extensions/models.js.coffee.erb +4 -13
- data/lib/assets/javascripts/aura/extensions/platform.js.coffee +2 -8
- data/lib/assets/javascripts/aura/extensions/rivets.js.coffee +21 -10
- data/lib/assets/javascripts/aura/extensions/states.js.coffee +25 -27
- data/lib/assets/javascripts/aura/extensions/widget/eventable.js.coffee +28 -23
- data/lib/assets/javascripts/aura/extensions/widget/lifecycleable.js.coffee +21 -34
- data/lib/assets/javascripts/aura/extensions/widget/napable.js.coffee +17 -13
- data/lib/assets/javascripts/config/load_components.js.coffee +5 -7
- data/lib/assets/javascripts/widgets/dialog/main.js.coffee +1 -2
- data/lib/assets/javascripts/widgets/list/presenter.js.coffee +5 -4
- data/lib/assets/javascripts/widgets/support/adapters/olark.js +1 -1
- data/lib/assets/javascripts/widgets/tray/main.js.coffee +16 -22
- data/lib/assets/javascripts/widgets/viewer/main.js.coffee +39 -102
- data/lib/assets/javascripts/widgets/viewer/plugins/scopable.js.coffee +7 -1
- data/lib/ende/version.rb +1 -1
- data/vendor/assets/components/ende_build.js +5732 -1047
- data/vendor/components/indefinido-indemma/build/development.js +2 -2
- data/vendor/components/indefinido-indemma/build/release.js +9 -4
- data/vendor/components/indefinido-indemma/build/test.js +115 -21916
- data/vendor/components/indefinido-indemma/component.json +0 -1
- data/vendor/components/indefinido-indemma/lib/record/restfulable.js +7 -2
- data/vendor/components/indefinido-indemma/lib/record/validatable.js +2 -2
- data/vendor/components/indefinido-indemma/src/lib/record/persistable.coffee +2 -0
- data/vendor/components/indefinido-indemma/src/lib/record/resource.coffee +3 -2
- data/vendor/components/indefinido-indemma/src/lib/record/restfulable.coffee +16 -4
- data/vendor/components/indefinido-indemma/src/lib/record/validatable.coffee +3 -3
- data/vendor/components/indefinido-observable/.gitignore +15 -0
- data/vendor/components/indefinido-observable/.ruby-gemset +1 -0
- data/vendor/components/indefinido-observable/.ruby-version +1 -0
- data/vendor/components/indefinido-observable/Gemfile +13 -0
- data/vendor/components/indefinido-observable/Guardfile +39 -0
- data/vendor/components/indefinido-observable/History.md +0 -0
- data/vendor/components/indefinido-observable/Readme.md +116 -0
- data/vendor/components/indefinido-observable/build/build.js +14798 -0
- data/vendor/components/indefinido-observable/build/development.js +339 -0
- data/vendor/components/indefinido-observable/build/release.js +14937 -0
- data/vendor/components/indefinido-observable/build/test.js +339 -0
- data/vendor/components/indefinido-observable/component.json +7 -3
- data/vendor/components/indefinido-observable/components/chaijs-chai/component.json +46 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/index.js +1 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/assertion.js +132 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/core/assertions.js +1270 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/error.js +60 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/interface/assert.js +1060 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/interface/expect.js +12 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/interface/should.js +76 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/addChainableMethod.js +94 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/addMethod.js +37 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/addProperty.js +40 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/eql.js +124 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/flag.js +32 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getActual.js +19 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getEnumerableProperties.js +25 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getMessage.js +49 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getName.js +20 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getPathValue.js +102 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getProperties.js +35 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/index.js +108 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/inspect.js +316 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/objDisplay.js +48 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/overwriteMethod.js +51 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/overwriteProperty.js +54 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/test.js +26 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/transferFlags.js +44 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/type.js +45 -0
- data/vendor/components/indefinido-observable/components/chaijs-chai/lib/chai.js +79 -0
- data/vendor/components/indefinido-observable/components/cjohansen-sinon/sinon.js +4290 -0
- data/vendor/components/indefinido-observable/components/component-jquery/component.json +14 -0
- data/vendor/components/indefinido-observable/components/component-jquery/index.js +9601 -0
- data/vendor/components/indefinido-observable/components/kapit-observe-shim/component.json +11 -0
- data/vendor/components/indefinido-observable/components/kapit-observe-utils/component.json +13 -0
- data/vendor/components/indefinido-observable/karma.conf.js +92 -0
- data/vendor/components/indefinido-observable/lib/observable.js +9 -19
- data/vendor/components/indefinido-observable/spec/legacy/observable_spec.js +126 -0
- data/vendor/components/indefinido-observable/spec/observable_spec.js +92 -0
- data/vendor/components/indefinido-observable/spec/spec_helper.js +8 -0
- data/vendor/components/indefinido-observable/spec/vendor/accessors_spec.js +63 -0
- data/vendor/components/indefinido-observable/src/lib/adapters/rivets.js.coffee +15 -0
- data/vendor/components/indefinido-observable/src/spec/legacy/observable_spec.coffee +132 -0
- data/vendor/components/indefinido-observable/src/spec/observable_spec.coffee +85 -0
- data/vendor/components/indefinido-observable/src/spec/spec_helper.coffee +5 -0
- data/vendor/components/indefinido-observable/src/spec/vendor/accessors_spec.coffee +59 -0
- data/vendor/components/indefinido-observable/vendor/spec/boot.js +104 -0
- data/vendor/components/indefinido-observable/vendor/spec/jasmine.js +2054 -0
- metadata +60 -8
- data/lib/assets/javascripts/aura/extensions/domain.js.coffee +0 -55
- data/lib/assets/javascripts/aura/extensions/stamps.js.coffee +0 -35
- data/lib/assets/javascripts/aura/extensions/widget/composable.js.coffee +0 -135
- data/lib/assets/javascripts/aura/extensions/widget/flowable.js.coffee +0 -65
- data/lib/assets/javascripts/widgets/attachable/main.js.coffee +0 -77
- /data/{lib/assets/javascripts/aura/extensions/stamps → vendor/assets/javascripts/stampit}/stampit.js +0 -0
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ende
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Heitor Salazar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -67,11 +67,11 @@ files:
|
|
67
67
|
- README.md
|
68
68
|
- Rakefile
|
69
69
|
- WTFP-LICENSE
|
70
|
+
- build/build.css
|
70
71
|
- component.json
|
71
72
|
- ende.gemspec
|
72
73
|
- lib/assets/.gitkeep
|
73
74
|
- lib/assets/javascripts/aura/extensions/devise.js.coffee
|
74
|
-
- lib/assets/javascripts/aura/extensions/domain.js.coffee
|
75
75
|
- lib/assets/javascripts/aura/extensions/loader.js.coffee
|
76
76
|
- lib/assets/javascripts/aura/extensions/mask.js.coffee
|
77
77
|
- lib/assets/javascripts/aura/extensions/mediator.js
|
@@ -82,12 +82,8 @@ files:
|
|
82
82
|
- lib/assets/javascripts/aura/extensions/rivets/formatters.js.coffee
|
83
83
|
- lib/assets/javascripts/aura/extensions/routes.js.coffee
|
84
84
|
- lib/assets/javascripts/aura/extensions/screening.js.coffee
|
85
|
-
- lib/assets/javascripts/aura/extensions/stamps.js.coffee
|
86
|
-
- lib/assets/javascripts/aura/extensions/stamps/stampit.js
|
87
85
|
- lib/assets/javascripts/aura/extensions/states.js.coffee
|
88
|
-
- lib/assets/javascripts/aura/extensions/widget/composable.js.coffee
|
89
86
|
- lib/assets/javascripts/aura/extensions/widget/eventable.js.coffee
|
90
|
-
- lib/assets/javascripts/aura/extensions/widget/flowable.js.coffee
|
91
87
|
- lib/assets/javascripts/aura/extensions/widget/lifecycleable.js.coffee
|
92
88
|
- lib/assets/javascripts/aura/extensions/widget/napable.js.coffee
|
93
89
|
- lib/assets/javascripts/aura/extensions/widget/presentable.js.coffee
|
@@ -98,7 +94,6 @@ files:
|
|
98
94
|
- lib/assets/javascripts/config/load_components.js.coffee
|
99
95
|
- lib/assets/javascripts/ende.js.coffee
|
100
96
|
- lib/assets/javascripts/value_objects/phone.js.coffee
|
101
|
-
- lib/assets/javascripts/widgets/attachable/main.js.coffee
|
102
97
|
- lib/assets/javascripts/widgets/authenticator/main.js.coffee
|
103
98
|
- lib/assets/javascripts/widgets/authenticator/presenter.js.coffee
|
104
99
|
- lib/assets/javascripts/widgets/authenticator/states/default.html
|
@@ -160,6 +155,7 @@ files:
|
|
160
155
|
- vendor/assets/javascripts/polyfills/es5-shim.js
|
161
156
|
- vendor/assets/javascripts/polyfills/es6-map-shim.js
|
162
157
|
- vendor/assets/javascripts/spin/spin.js
|
158
|
+
- vendor/assets/javascripts/stampit/stampit.js
|
163
159
|
- vendor/components/KapIT-observe-utils/component.json
|
164
160
|
- vendor/components/KapIT-observe-utils/lib/observe-utils.js
|
165
161
|
- vendor/components/component-bind/component.json
|
@@ -359,14 +355,70 @@ files:
|
|
359
355
|
- vendor/components/indefinido-indemma/vendor/owl/pluralize.js
|
360
356
|
- vendor/components/indefinido-indemma/vendor/sinon.js
|
361
357
|
- vendor/components/indefinido-indemma/vendor/stampit.js
|
358
|
+
- vendor/components/indefinido-observable/.gitignore
|
359
|
+
- vendor/components/indefinido-observable/.ruby-gemset
|
360
|
+
- vendor/components/indefinido-observable/.ruby-version
|
361
|
+
- vendor/components/indefinido-observable/Gemfile
|
362
|
+
- vendor/components/indefinido-observable/Guardfile
|
363
|
+
- vendor/components/indefinido-observable/History.md
|
364
|
+
- vendor/components/indefinido-observable/Readme.md
|
365
|
+
- vendor/components/indefinido-observable/build/build.js
|
366
|
+
- vendor/components/indefinido-observable/build/development.js
|
367
|
+
- vendor/components/indefinido-observable/build/release.js
|
368
|
+
- vendor/components/indefinido-observable/build/test.js
|
362
369
|
- vendor/components/indefinido-observable/component.json
|
370
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/component.json
|
371
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/index.js
|
372
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai.js
|
373
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/assertion.js
|
374
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/core/assertions.js
|
375
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/error.js
|
376
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/interface/assert.js
|
377
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/interface/expect.js
|
378
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/interface/should.js
|
379
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/addChainableMethod.js
|
380
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/addMethod.js
|
381
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/addProperty.js
|
382
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/eql.js
|
383
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/flag.js
|
384
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getActual.js
|
385
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getEnumerableProperties.js
|
386
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getMessage.js
|
387
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getName.js
|
388
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getPathValue.js
|
389
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/getProperties.js
|
390
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/index.js
|
391
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/inspect.js
|
392
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/objDisplay.js
|
393
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/overwriteMethod.js
|
394
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/overwriteProperty.js
|
395
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/test.js
|
396
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/transferFlags.js
|
397
|
+
- vendor/components/indefinido-observable/components/chaijs-chai/lib/chai/utils/type.js
|
398
|
+
- vendor/components/indefinido-observable/components/cjohansen-sinon/sinon.js
|
399
|
+
- vendor/components/indefinido-observable/components/component-jquery/component.json
|
400
|
+
- vendor/components/indefinido-observable/components/component-jquery/index.js
|
401
|
+
- vendor/components/indefinido-observable/components/kapit-observe-shim/component.json
|
402
|
+
- vendor/components/indefinido-observable/components/kapit-observe-utils/component.json
|
363
403
|
- vendor/components/indefinido-observable/index.js
|
404
|
+
- vendor/components/indefinido-observable/karma.conf.js
|
364
405
|
- vendor/components/indefinido-observable/lib/adapters/rivets.js
|
365
406
|
- vendor/components/indefinido-observable/lib/observable.js
|
407
|
+
- vendor/components/indefinido-observable/spec/legacy/observable_spec.js
|
408
|
+
- vendor/components/indefinido-observable/spec/observable_spec.js
|
409
|
+
- vendor/components/indefinido-observable/spec/spec_helper.js
|
410
|
+
- vendor/components/indefinido-observable/spec/vendor/accessors_spec.js
|
411
|
+
- vendor/components/indefinido-observable/src/lib/adapters/rivets.js.coffee
|
412
|
+
- vendor/components/indefinido-observable/src/spec/legacy/observable_spec.coffee
|
413
|
+
- vendor/components/indefinido-observable/src/spec/observable_spec.coffee
|
414
|
+
- vendor/components/indefinido-observable/src/spec/spec_helper.coffee
|
415
|
+
- vendor/components/indefinido-observable/src/spec/vendor/accessors_spec.coffee
|
366
416
|
- vendor/components/indefinido-observable/vendor/shims/accessors-legacy.js
|
367
417
|
- vendor/components/indefinido-observable/vendor/shims/accessors.js
|
368
418
|
- vendor/components/indefinido-observable/vendor/shims/array.indexOf.js
|
369
419
|
- vendor/components/indefinido-observable/vendor/shims/object.create.js
|
420
|
+
- vendor/components/indefinido-observable/vendor/spec/boot.js
|
421
|
+
- vendor/components/indefinido-observable/vendor/spec/jasmine.js
|
370
422
|
- vendor/components/mikeric-rivets/component.json
|
371
423
|
- vendor/components/mikeric-rivets/dist/rivets.js
|
372
424
|
- vendor/components/paulmillr-es6-shim/component.json
|
@@ -1,55 +0,0 @@
|
|
1
|
-
'use strict'
|
2
|
-
|
3
|
-
define 'aura/extensions/domain', ->
|
4
|
-
|
5
|
-
# The purpose of this extension is have a business domain practice
|
6
|
-
# integrated with the core application functionality
|
7
|
-
|
8
|
-
version: '0.1.0'
|
9
|
-
|
10
|
-
initialize: (application) ->
|
11
|
-
{core: {mediator, stamp}} = application
|
12
|
-
|
13
|
-
eventable = stamp
|
14
|
-
on : mediator.on
|
15
|
-
off : mediator.off
|
16
|
-
once : mediator.once
|
17
|
-
many : mediator.many
|
18
|
-
emit : mediator.emit
|
19
|
-
unlisten: mediator.removeAllListeners
|
20
|
-
|
21
|
-
domainable = stamp()
|
22
|
-
|
23
|
-
# application.use('extensions/models').use 'extensions/widget/flows'
|
24
|
-
# TODO detect if flows extension and models extension have already been loaded
|
25
|
-
|
26
|
-
# TODO require domain commands
|
27
|
-
application.domain ||= eventable()
|
28
|
-
|
29
|
-
afterAppStart: (application) ->
|
30
|
-
{core: {resourceable: {every: resourceables}, Widgets: {Flow}, stamp, stamps}, domain} = application
|
31
|
-
|
32
|
-
# TODO disponibilize the resourceables method through the resources extension
|
33
|
-
extensions = {}
|
34
|
-
for resourceable in resourceables
|
35
|
-
resource = resourceable.resource.toString()
|
36
|
-
|
37
|
-
namespaces = resource.split '/'
|
38
|
-
method = namespaces.pop() + 'able'
|
39
|
-
|
40
|
-
# Create namespaces
|
41
|
-
node = extensions
|
42
|
-
for namespace in namespaces
|
43
|
-
node[namespace] ||= {}
|
44
|
-
node = node[namespace]
|
45
|
-
|
46
|
-
node[method] = resourceable
|
47
|
-
|
48
|
-
stamp 'resourceables', extensions
|
49
|
-
|
50
|
-
Flow.compose stamp.compose stamps.resourceables, stamp().enclose -> domain[@name] = @
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
@@ -1,35 +0,0 @@
|
|
1
|
-
'use strict'
|
2
|
-
|
3
|
-
define 'aura/extensions/stamps', ->
|
4
|
-
|
5
|
-
|
6
|
-
name: 'stamps'
|
7
|
-
|
8
|
-
version: '0.1.0'
|
9
|
-
|
10
|
-
require:
|
11
|
-
paths:
|
12
|
-
stampit: 'aura/extensions/stamps/stampit'
|
13
|
-
|
14
|
-
initialize: (application) ->
|
15
|
-
{sandbox, core} = application
|
16
|
-
stampit = require 'stampit'
|
17
|
-
|
18
|
-
core.stamps = {}
|
19
|
-
|
20
|
-
# TODO store stamps on a sandbox basis too
|
21
|
-
sandbox.stamp = core.stamp = stampit.mixIn (name, params...) ->
|
22
|
-
unless typeof name == 'string'
|
23
|
-
params.unshift name
|
24
|
-
name = null
|
25
|
-
|
26
|
-
stamp = stampit.apply stampit, params
|
27
|
-
|
28
|
-
if name then core.stamps[name] = stamp else stamp
|
29
|
-
|
30
|
-
, stampit
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
@@ -1,135 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
define 'aura/extensions/widget/composable', ->
|
4
|
-
stamp = extend = null
|
5
|
-
|
6
|
-
advisorable = (advisor) ->
|
7
|
-
# TODO merge advices in the composition chain
|
8
|
-
advice_names = ['before', 'after', 'around']
|
9
|
-
|
10
|
-
extract_advices = (object) ->
|
11
|
-
found = []
|
12
|
-
for key of object when key.indexOf('_') isnt -1
|
13
|
-
[name, adviced] = key.split '_'
|
14
|
-
|
15
|
-
if advice_names.indexOf(name) != -1
|
16
|
-
callbacks = if object[key].length then object[key] else [object[key]]
|
17
|
-
|
18
|
-
delete object[key]
|
19
|
-
|
20
|
-
found.push
|
21
|
-
key: key
|
22
|
-
name: name
|
23
|
-
adviced: adviced
|
24
|
-
callbacks: callbacks
|
25
|
-
|
26
|
-
found
|
27
|
-
|
28
|
-
advisor.advice = (widget) ->
|
29
|
-
|
30
|
-
advices = extract_advices widget
|
31
|
-
|
32
|
-
for advice in advices
|
33
|
-
|
34
|
-
# in order to preserve declaration order, we must reverse the callbacks order
|
35
|
-
advice.callbacks.reverse() if advice.name == 'before'
|
36
|
-
|
37
|
-
# Advice with all callbacks
|
38
|
-
widget[advice.name] advice.adviced, callback for callback in advice.callbacks
|
39
|
-
|
40
|
-
widget
|
41
|
-
|
42
|
-
advisor.advisable = (factory) ->
|
43
|
-
original = factory.compose
|
44
|
-
|
45
|
-
stamp.mixIn factory,
|
46
|
-
compose: (stamps...) ->
|
47
|
-
{fixed: {methods: composition_methods}} = @composition
|
48
|
-
advices = extract_advices composition_methods
|
49
|
-
|
50
|
-
for stamped in stamps
|
51
|
-
{fixed: {methods: stamp_methods}} = stamped
|
52
|
-
advices = advices.concat extract_advices stamp_methods
|
53
|
-
|
54
|
-
adviced_stamp = {}
|
55
|
-
for advice in advices
|
56
|
-
adviced_stamp[advice.key] ||= []
|
57
|
-
adviced_stamp[advice.key] = adviced_stamp[advice.key].concat advice.callbacks
|
58
|
-
|
59
|
-
# Create a ultimate stamp with all advices arrays or functions merged
|
60
|
-
# TODO do not store advices definitions in the prototype chain
|
61
|
-
stamps.push stamp adviced_stamp
|
62
|
-
|
63
|
-
original.apply factory, stamps
|
64
|
-
|
65
|
-
advice: advisor.advice
|
66
|
-
|
67
|
-
advisor
|
68
|
-
|
69
|
-
composerable = (compositor) ->
|
70
|
-
compositor.composable = (methods, state, enclose) ->
|
71
|
-
factory = (options) ->
|
72
|
-
|
73
|
-
# Inherit defaults from widget
|
74
|
-
options = _.defaults options, factory.composition.fixed.methods.options
|
75
|
-
|
76
|
-
# Composition only will compose methods and state!
|
77
|
-
instance = factory.composition options: options
|
78
|
-
enclose.call instance, options
|
79
|
-
|
80
|
-
# TODO check if it is needed to inherit compositions
|
81
|
-
# if methods.composition
|
82
|
-
# composition = methods.composition
|
83
|
-
# delete methods.composition
|
84
|
-
# composition = stamp.compose composition, stamp methods, state
|
85
|
-
# else
|
86
|
-
# composition = stamp methods, state
|
87
|
-
|
88
|
-
stamp.mixIn factory,
|
89
|
-
composition: stamp methods, state
|
90
|
-
# Suport an extension with multiple compositions
|
91
|
-
compose: -> @composition = stamp.compose @composition, arguments...
|
92
|
-
|
93
|
-
extend: ->
|
94
|
-
`var methods, state`
|
95
|
-
{fixed} = @composition
|
96
|
-
initializers = [enclose]
|
97
|
-
methods = {}
|
98
|
-
state = {}
|
99
|
-
|
100
|
-
for definition in arguments
|
101
|
-
{methods: definition_methods, state: definition_state} = definition
|
102
|
-
|
103
|
-
methods = extend methods, fixed.methods, definition_methods or definition
|
104
|
-
state = extend state , fixed.state , definition_state
|
105
|
-
|
106
|
-
initializers.push fixed.enclose if fixed.enclose
|
107
|
-
initializers.push definition.enclose if definition.enclose
|
108
|
-
|
109
|
-
enclosed = (properties) ->
|
110
|
-
initializers.forEach (initializer) => initializer.call @, properties
|
111
|
-
@
|
112
|
-
|
113
|
-
compositor.composable methods, state, enclosed or enclose
|
114
|
-
|
115
|
-
compositor
|
116
|
-
|
117
|
-
version: '0.1.2'
|
118
|
-
|
119
|
-
initialize: (application) ->
|
120
|
-
advisable = require 'advisable'
|
121
|
-
|
122
|
-
{core: {Widgets, util: {extend}, stamp}} = application
|
123
|
-
|
124
|
-
Widgets = composerable advisorable Widgets
|
125
|
-
|
126
|
-
# THINK how to at the same time respect aura ways of instantiating
|
127
|
-
# widgets and preserve widget logic composability
|
128
|
-
Widgets.Default = Widgets.Base
|
129
|
-
delete Widgets.Default.extend
|
130
|
-
|
131
|
-
Widgets.Base = Widgets.advisable Widgets.composable advisable(Widgets.Default.prototype), null, (options) ->
|
132
|
-
Object.defineProperty @, 'constructor', value: Widgets.Default, enumerable: false, configurable: false, writable: false
|
133
|
-
Widgets.Default.call Widgets.advice(@), options
|
134
|
-
|
135
|
-
|
@@ -1,65 +0,0 @@
|
|
1
|
-
'use strict'
|
2
|
-
|
3
|
-
define 'aura/extensions/widget/flowable', ->
|
4
|
-
|
5
|
-
# The purpose of this extension is have a formalized widget type to
|
6
|
-
# put domain comunication logic between other widgets
|
7
|
-
(application) ->
|
8
|
-
|
9
|
-
instantiation =
|
10
|
-
composite_with: ->
|
11
|
-
|
12
|
-
stampit = require 'stampit/stampit'
|
13
|
-
|
14
|
-
# TODO Move each composable to its file
|
15
|
-
eventable = stampit().enclose ->
|
16
|
-
@on = @sandbox.on
|
17
|
-
@off = @sandbox.off
|
18
|
-
@once = @sandbox.once
|
19
|
-
@many = @sandbox.many
|
20
|
-
@emit = @sandbox.emit
|
21
|
-
@unlisten = @sandbox.removeAllListeners
|
22
|
-
|
23
|
-
@
|
24
|
-
|
25
|
-
filterable = stampit()
|
26
|
-
|
27
|
-
routeable = stampit()
|
28
|
-
|
29
|
-
stateable = stampit(transit: (state) -> application.state = state).enclose ->
|
30
|
-
Object.defineProperty @, 'state',
|
31
|
-
set: @transit
|
32
|
-
get: -> application.state
|
33
|
-
configurable: false
|
34
|
-
|
35
|
-
@stateless()
|
36
|
-
|
37
|
-
elementless = stampit ->
|
38
|
-
marker = " #{@name}.#{@identifier} flow "
|
39
|
-
node = document.createComment marker
|
40
|
-
@$el.replaceWith node
|
41
|
-
@$el = $ node
|
42
|
-
|
43
|
-
stampit.compose filterable, routeable, eventable, stateable, elementless
|
44
|
-
|
45
|
-
create_widget_type: (flowable, application) ->
|
46
|
-
{core: {Widgets}} = application
|
47
|
-
|
48
|
-
Widgets.Flow = Widgets.composable Widgets.Default.prototype, null, (options) -> Widgets.Default.call @, options
|
49
|
-
Widgets.Flow.compose flowable
|
50
|
-
|
51
|
-
version: '0.1.0'
|
52
|
-
|
53
|
-
initialize: (application) ->
|
54
|
-
flowable = instantiation.composite_with application
|
55
|
-
instantiation.create_widget_type flowable, application
|
56
|
-
|
57
|
-
afterAppStart: (application) ->
|
58
|
-
application.components.addSource 'flow', 'flows'
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
@@ -1,77 +0,0 @@
|
|
1
|
-
define ->
|
2
|
-
|
3
|
-
# TODO create diferent type for non-ui composable widgets
|
4
|
-
# TODO think about how to make this widget dependent on eventable extension
|
5
|
-
# TODO move this widtet to an extension when element is stored in the sandbox
|
6
|
-
type: 'Base'
|
7
|
-
|
8
|
-
version: '0.1.0'
|
9
|
-
|
10
|
-
# TODO options: {state: 'reset' # Will preserve initial widget state }
|
11
|
-
|
12
|
-
initialize: (options) ->
|
13
|
-
|
14
|
-
@sandbox._attachments = []
|
15
|
-
|
16
|
-
@$el.addClass "widget #{@name} composing"
|
17
|
-
|
18
|
-
# TODO think how to extend widgets as a way of knowing all children have started
|
19
|
-
@compose_when_parent()
|
20
|
-
|
21
|
-
# TODO think how to extend widgets as a way of knowing all children have started
|
22
|
-
compose_when_parent: ->
|
23
|
-
@interval = setInterval =>
|
24
|
-
if @sandbox._parent?
|
25
|
-
@compose @sandbox._parent._widget
|
26
|
-
clearInterval @interval
|
27
|
-
, 800
|
28
|
-
|
29
|
-
# Create a widget type to replace @$el for a html comment
|
30
|
-
compose: (parent) ->
|
31
|
-
@parent = parent
|
32
|
-
parent_namespace = parent.name + '.' + parent.identifier
|
33
|
-
|
34
|
-
# TODO move to elementless widgets
|
35
|
-
@transform_into_elementless()
|
36
|
-
|
37
|
-
@sandbox.on "#{parent_namespace}.reattach", @reattach, @
|
38
|
-
@sandbox.on "#{parent_namespace}.detach" , @detach , @
|
39
|
-
@sandbox.on "#{parent_namespace}.attach" , @attach , @
|
40
|
-
|
41
|
-
transform_into_elementless: ->
|
42
|
-
serializable_options = _.omit @options, '$el', 'el', 'ref', '_ref', 'require', 'baseUrl'
|
43
|
-
|
44
|
-
marker = " #{@name}.#{@identifier} for #{@parent.name}.#{parent.identifier}"
|
45
|
-
marker += " with #{JSON.stringify serializable_options} "
|
46
|
-
node = document.createComment marker
|
47
|
-
@$el.replaceWith node
|
48
|
-
|
49
|
-
@$el = $ node
|
50
|
-
|
51
|
-
reattach: (selector) ->
|
52
|
-
@detach()
|
53
|
-
@attach selector
|
54
|
-
|
55
|
-
detach: ->
|
56
|
-
@sandbox.stopListening()
|
57
|
-
# TODO Support multiple deatachments events storage
|
58
|
-
current_events = @sandbox._events
|
59
|
-
@sandbox._events = @sandbox._attachments.shift() || []
|
60
|
-
@sandbox._attachments.push current_events
|
61
|
-
|
62
|
-
# TODO unbind and store jquery handlers
|
63
|
-
# TODO store element position in the attachment
|
64
|
-
@parent.$el.detach()
|
65
|
-
|
66
|
-
attach: (selector) ->
|
67
|
-
element = @sandbox.dom.find selector
|
68
|
-
@sandbox.logger.error "attach: No element found for #{selector} for attachment" unless element.length
|
69
|
-
|
70
|
-
# TODO Support multiple deatachments events storage
|
71
|
-
@sandbox._attachments.push @sandbox._events
|
72
|
-
@sandbox._events = @sandbox._attachments.shift() || []
|
73
|
-
@sandbox.startListening()
|
74
|
-
|
75
|
-
# TODO rebind jquery handlers
|
76
|
-
# TODO restore element position of the attachment
|
77
|
-
element.append @parent.$el
|
/data/{lib/assets/javascripts/aura/extensions/stamps → vendor/assets/javascripts/stampit}/stampit.js
RENAMED
File without changes
|