ende 0.4.20 → 0.4.21
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.
- 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
|