simditor-rails 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/simditor-rails/version.rb +5 -0
- data/lib/simditor-rails.rb +8 -0
- data/vendor/assets/javascripts/simditor/module.coffee +80 -0
- data/vendor/assets/javascripts/simditor/simditor.coffee +3252 -0
- data/vendor/assets/javascripts/simditor/uploader.coffee +228 -0
- data/vendor/assets/javascripts/simditor.js +3 -0
- data/vendor/assets/stylesheets/simditor.scss +575 -0
- metadata +50 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: eec047eb279afe4a2ce42ef44da6fa8a2af4e540
|
4
|
+
data.tar.gz: 38515fd63b6f80ce7da112da72b2cb6111a59e7a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9258bcda4fa23e45c6638a1687fc2c86e5a3aeee73e18d1a545baf06a18e1f98704c1bab19fb1fae020db22642ee35a978384de8cea218a6a9073aae364974a4
|
7
|
+
data.tar.gz: 7dfe5455ebbfa5e475ac64926ca187d3418818abe35d67db7b90a037095b5d346360bd12320f1289d836a52a2bdaa520b50f81f4b9ceb4c662242087ac2eb202
|
@@ -0,0 +1,80 @@
|
|
1
|
+
class Module
|
2
|
+
|
3
|
+
@extend: (obj) ->
|
4
|
+
return unless obj? and typeof obj is 'object'
|
5
|
+
for key, val of obj when key not in ['included', 'extended']
|
6
|
+
@[key] = val
|
7
|
+
obj.extended?.call(@)
|
8
|
+
|
9
|
+
@include: (obj) ->
|
10
|
+
return unless obj? and typeof obj is 'object'
|
11
|
+
for key, val of obj when key not in ['included', 'extended']
|
12
|
+
@::[key] = val
|
13
|
+
obj.included?.call(@)
|
14
|
+
|
15
|
+
on: (args...) ->
|
16
|
+
$(@).on args...
|
17
|
+
|
18
|
+
one: (args...) ->
|
19
|
+
$(@).one args...
|
20
|
+
|
21
|
+
off: (args...) ->
|
22
|
+
$(@).off args...
|
23
|
+
|
24
|
+
trigger: (args...) ->
|
25
|
+
$(@).trigger args...
|
26
|
+
|
27
|
+
triggerHandler: (args...) ->
|
28
|
+
$(@).triggerHandler args...
|
29
|
+
|
30
|
+
|
31
|
+
class Widget extends Module
|
32
|
+
|
33
|
+
@connect: (cls) ->
|
34
|
+
return unless typeof cls is 'function'
|
35
|
+
|
36
|
+
unless cls.className
|
37
|
+
throw new Error 'Widget.connect: lack of class property "className"'
|
38
|
+
return
|
39
|
+
|
40
|
+
@_connectedClasses = [] unless @_connectedClasses
|
41
|
+
@_connectedClasses.push(cls)
|
42
|
+
@[cls.className] = cls if cls.className
|
43
|
+
|
44
|
+
_init: ->
|
45
|
+
|
46
|
+
opts: {}
|
47
|
+
|
48
|
+
constructor: (opts) ->
|
49
|
+
@opts = $.extend({}, @opts, opts)
|
50
|
+
|
51
|
+
@constructor._connectedClasses ||= []
|
52
|
+
|
53
|
+
instances = for cls in @constructor._connectedClasses
|
54
|
+
name = cls.className.charAt(0).toLowerCase() + cls.className.slice(1)
|
55
|
+
@[name] = new cls(@)
|
56
|
+
|
57
|
+
@_init()
|
58
|
+
|
59
|
+
instance._init?() for instance in instances
|
60
|
+
|
61
|
+
@trigger 'pluginconnected'
|
62
|
+
|
63
|
+
destroy: ->
|
64
|
+
|
65
|
+
|
66
|
+
class Plugin extends Module
|
67
|
+
|
68
|
+
@className: 'Plugin'
|
69
|
+
|
70
|
+
opts: {}
|
71
|
+
|
72
|
+
constructor: (@widget) ->
|
73
|
+
@opts = $.extend({}, @opts, @widget.opts)
|
74
|
+
|
75
|
+
_init: ->
|
76
|
+
|
77
|
+
|
78
|
+
window.Module = Module
|
79
|
+
window.Widget = Widget
|
80
|
+
window.Plugin = Plugin
|