scrivito_editors 0.70.2 → 0.71.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa97297b8ea4b3d766e89626c337ed8d92f91c8f
|
4
|
+
data.tar.gz: 1ac6e84c3983669d660304519dfa51e9614869a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e13fce3cc15a0ccf9170f677f5d17abc348958660bde6e17d0add7a26d3da3ac88b60f8cec80e8a40153b23f84a133c06b2dd7dc47687947c203a27ffdbb8d7
|
7
|
+
data.tar.gz: 0e66886e9bca14bf739b46f9792934aa441efc72d2a38541c89daee03d0473cbceaf8c27e4aa21d19d7f2914ef2b08d3d602992ad5704df284e4212afe9c581d
|
@@ -51,35 +51,15 @@ setup_image_kit_container = (element, dialog) ->
|
|
51
51
|
image = new Image()
|
52
52
|
url = element.scrivito("content").url
|
53
53
|
|
54
|
-
#
|
55
|
-
image.crossOrigin = "Anonymous"
|
56
|
-
image.src = url
|
57
|
-
|
58
|
-
#S3 compatible (as of 2015-10) workaround to prevent crossOrigin warnings in chrome and safari
|
59
|
-
fallbackUrl = url
|
54
|
+
#workaround to prevent crossOrigin warnings in chrome and safari
|
60
55
|
if url.indexOf("?") < 0
|
61
|
-
|
56
|
+
url += "?" + new Date().getTime()
|
62
57
|
else
|
63
|
-
|
58
|
+
url += "&" + new Date().getTime()
|
64
59
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
<div style='padding:20px'>
|
69
|
-
<h1>We're sorry,</h1>
|
70
|
-
<p>Scrivito can't edit this image in your browser. What now?</p>
|
71
|
-
<ul>
|
72
|
-
<li>Check for browser updates</li>
|
73
|
-
<li>Try using a different browser</li>
|
74
|
-
<li>Contact us at
|
75
|
-
<a href="https://scrivito.com/support" target="_blank">https://scrivito.com/support</a>
|
76
|
-
</li>
|
77
|
-
</ul>
|
78
|
-
</div>
|
79
|
-
""").appendTo(container)
|
80
|
-
else
|
81
|
-
console.info("Scrivito detected a probable CORS browser cache mismatch, trying uncached load")
|
82
|
-
image.src = fallbackUrl
|
60
|
+
#Order is important for CORS problem in browsers http://stackoverflow.com/a/18422548
|
61
|
+
image.crossOrigin = "Anonymous"
|
62
|
+
image.src = url
|
83
63
|
|
84
64
|
image.onload = ->
|
85
65
|
kit = setup_image_kit(image, container)
|
@@ -0,0 +1,111 @@
|
|
1
|
+
scrivito.on 'content', (content) ->
|
2
|
+
return unless scrivito.in_editable_view()
|
3
|
+
|
4
|
+
$(content).find('''
|
5
|
+
[data-scrivito-field-name="_permalink"]:not([data-editor]),
|
6
|
+
[data-editor~=permalink]
|
7
|
+
''').each -> create($(@))
|
8
|
+
|
9
|
+
create = (field) ->
|
10
|
+
editor = field.html(render(field.scrivito('content') || ''))
|
11
|
+
input = editor.find('input')
|
12
|
+
button = editor.find('a')
|
13
|
+
error = editor.find('div.scrivito_error')
|
14
|
+
clear = editor.find('.scrivito_clear')
|
15
|
+
|
16
|
+
input.on 'input', ->
|
17
|
+
permalink = input.val()
|
18
|
+
if permalink == field.scrivito('content')
|
19
|
+
hideError()
|
20
|
+
disableSaveButton()
|
21
|
+
else if permalink.match(/^([\w._-]+[\/\w._-]*)?$/)
|
22
|
+
hideError()
|
23
|
+
enableSaveButton()
|
24
|
+
else
|
25
|
+
showError(
|
26
|
+
'The permalink may only contain letters from A to Z, periods, hyphens, and underscores.')
|
27
|
+
disableSaveButton()
|
28
|
+
|
29
|
+
clear.on 'click', ->
|
30
|
+
input.val('')
|
31
|
+
hideError()
|
32
|
+
if !field.scrivito('content')
|
33
|
+
disableSaveButton()
|
34
|
+
else
|
35
|
+
enableSaveButton()
|
36
|
+
off
|
37
|
+
|
38
|
+
button.on 'click', ->
|
39
|
+
trySave()
|
40
|
+
off
|
41
|
+
|
42
|
+
editor.on 'keyup', (event) ->
|
43
|
+
switch event.keyCode
|
44
|
+
when 13 # Enter
|
45
|
+
trySave()
|
46
|
+
when 27 # Esc
|
47
|
+
input.val(field.scrivito('content'))
|
48
|
+
hideError()
|
49
|
+
disableSaveButton()
|
50
|
+
input.blur()
|
51
|
+
|
52
|
+
trySave = ->
|
53
|
+
return off if button.hasClass('scrivito_disabled')
|
54
|
+
|
55
|
+
showSaving()
|
56
|
+
|
57
|
+
permalink = input.val()
|
58
|
+
if permalink
|
59
|
+
scrivito.obj_where('_permalink', 'equals', permalink).size().then (total) ->
|
60
|
+
if total > 0
|
61
|
+
hideSaving()
|
62
|
+
showError('Permalink already taken.')
|
63
|
+
disableSaveButton()
|
64
|
+
input.focus()
|
65
|
+
else
|
66
|
+
save(permalink)
|
67
|
+
else
|
68
|
+
save(null)
|
69
|
+
|
70
|
+
disableSaveButton = ->
|
71
|
+
button.addClass('scrivito_disabled')
|
72
|
+
|
73
|
+
enableSaveButton = ->
|
74
|
+
button.removeClass('scrivito_disabled scrivito_saving')
|
75
|
+
|
76
|
+
showError = (message) ->
|
77
|
+
disableSaveButton()
|
78
|
+
input.addClass('scrivito_error')
|
79
|
+
error.text(message)
|
80
|
+
error.show()
|
81
|
+
|
82
|
+
hideError = ->
|
83
|
+
input.removeClass('scrivito_error')
|
84
|
+
error.hide()
|
85
|
+
|
86
|
+
showSaving = ->
|
87
|
+
input.attr('disabled', 'disabled')
|
88
|
+
disableSaveButton()
|
89
|
+
button.addClass('scrivito_saving')
|
90
|
+
button.find('span').text('Saving...')
|
91
|
+
|
92
|
+
hideSaving = ->
|
93
|
+
input.removeAttr('disabled')
|
94
|
+
enableSaveButton()
|
95
|
+
button.find('span').text('Save')
|
96
|
+
|
97
|
+
save = (permalink) ->
|
98
|
+
field.scrivito('save', permalink).then ->
|
99
|
+
create(field)
|
100
|
+
|
101
|
+
render = (content) ->
|
102
|
+
"""
|
103
|
+
<div class="scrivito_permalink_editor">
|
104
|
+
<input type="text" value="#{content}" />
|
105
|
+
<span class="scrivito_clear"></span>
|
106
|
+
<a href="#" class="scrivito_editing_button scrivito_disabled">
|
107
|
+
<span>Save</span>
|
108
|
+
</a>
|
109
|
+
<div class="scrivito_error"></div>
|
110
|
+
</div>
|
111
|
+
"""
|
@@ -98,7 +98,7 @@ $ ->
|
|
98
98
|
DOUBLE_CLICK_MS = 300
|
99
99
|
|
100
100
|
editSelector = '''
|
101
|
-
[data-scrivito-field-type="string"]:not([data-editor]),
|
101
|
+
[data-scrivito-field-type="string"]:not([data-editor]):not([data-scrivito-field-name=_permalink]),
|
102
102
|
[data-editor~="string"],
|
103
103
|
[data-editor~="text"]
|
104
104
|
'''
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scrivito_editors
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.71.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scrivito
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: coffee-rails
|
@@ -72,28 +72,28 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - '='
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
75
|
+
version: 0.71.0.rc1
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - '='
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
82
|
+
version: 0.71.0.rc1
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: scrivito_sdk
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - '='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 0.71.0.rc1
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - '='
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 0.71.0.rc1
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: pry
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -235,6 +235,7 @@ files:
|
|
235
235
|
- app/assets/javascripts/scrivito_editors/link_editor.js.coffee
|
236
236
|
- app/assets/javascripts/scrivito_editors/linklist_editor.js.coffee
|
237
237
|
- app/assets/javascripts/scrivito_editors/multienum_editor.js.coffee
|
238
|
+
- app/assets/javascripts/scrivito_editors/permalink_editor.js.coffee
|
238
239
|
- app/assets/javascripts/scrivito_editors/placeholder.js.coffee
|
239
240
|
- app/assets/javascripts/scrivito_editors/redactor_plugins/scrivito_editors_image_manager.js.coffee
|
240
241
|
- app/assets/javascripts/scrivito_editors/redactor_plugins/scrivito_editors_link_manager.js.coffee
|