bhf 1.0.0.beta8 → 1.0.0.beta13
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/Gemfile.lock +1 -1
- data/README.md +9 -0
- data/VERSION +1 -1
- data/app/assets/javascripts/bhf/{mootools-core-1.5.0-full-compat.js → MooTools-More-1.6.0.js} +6122 -3637
- data/app/assets/javascripts/bhf/application.js +1 -2
- data/app/assets/javascripts/bhf/classes/MooEditable.js +119 -119
- data/app/assets/javascripts/bhf/classes/Picker.js +1 -1
- data/app/assets/javascripts/bhf/classes/Picker_Attach.js +4 -4
- data/app/assets/javascripts/bhf/classes/Picker_Date.js +2 -2
- data/app/assets/stylesheets/bhf/application.sass +18 -3
- data/app/assets/stylesheets/bhf/trix.scss +373 -0
- data/app/controllers/bhf/entries_controller.rb +2 -2
- data/app/views/bhf/form/column/_activestorage_attachment.html.haml +2 -6
- data/app/views/bhf/form/column/_activestorage_attachments.html.haml +10 -0
- data/app/views/bhf/form/column/_attachment_presenter.html.haml +6 -0
- data/app/views/bhf/form/column/_rich_text.html.haml +1 -1
- data/bhf.gemspec +8 -6
- metadata +7 -5
- data/app/assets/javascripts/bhf/mootools-more-1.5.0.js +0 -2561
@@ -94,17 +94,17 @@ this.MooEditable = new Class({
|
|
94
94
|
}.bind(this));
|
95
95
|
this.render();
|
96
96
|
},
|
97
|
-
|
97
|
+
|
98
98
|
toElement: function(){
|
99
99
|
return this.textarea;
|
100
100
|
},
|
101
|
-
|
101
|
+
|
102
102
|
render: function(){
|
103
103
|
var self = this;
|
104
|
-
|
104
|
+
|
105
105
|
// Dimensions
|
106
106
|
var dimensions = this.options.dimensions || this.textarea.getSize();
|
107
|
-
|
107
|
+
|
108
108
|
// Build the container
|
109
109
|
this.container = new Element('div', {
|
110
110
|
id: (this.textarea.id) ? this.textarea.id + '-mooeditable-container' : null,
|
@@ -116,7 +116,7 @@ this.MooEditable = new Class({
|
|
116
116
|
|
117
117
|
// Override all textarea styles
|
118
118
|
this.textarea.addClass('mooeditable-textarea').setStyle('height', dimensions.y);
|
119
|
-
|
119
|
+
|
120
120
|
// Build the iframe
|
121
121
|
this.iframe = new IFrame({
|
122
122
|
'class': 'mooeditable-iframe',
|
@@ -126,16 +126,16 @@ this.MooEditable = new Class({
|
|
126
126
|
height: dimensions.y
|
127
127
|
}
|
128
128
|
});
|
129
|
-
|
129
|
+
|
130
130
|
this.toolbar = new MooEditable.UI.Toolbar({
|
131
131
|
onItemAction: function(){
|
132
|
-
var args = Array.
|
132
|
+
var args = Array.convert(arguments);
|
133
133
|
var item = args[0];
|
134
134
|
self.action(item.name, args);
|
135
135
|
}
|
136
136
|
});
|
137
137
|
this.attach.delay(1, this);
|
138
|
-
|
138
|
+
|
139
139
|
// Update the event for textarea's corresponding labels
|
140
140
|
if (this.options.handleLabel && this.textarea.id) $$('label[for="'+this.textarea.id+'"]').addEvent('click', function(e){
|
141
141
|
if (self.mode != 'iframe') return;
|
@@ -151,7 +151,7 @@ this.MooEditable = new Class({
|
|
151
151
|
if (self.mode == 'iframe') self.saveContent();
|
152
152
|
});
|
153
153
|
}
|
154
|
-
|
154
|
+
|
155
155
|
this.fireEvent('render', this);
|
156
156
|
},
|
157
157
|
|
@@ -160,7 +160,7 @@ this.MooEditable = new Class({
|
|
160
160
|
|
161
161
|
// Assign view mode
|
162
162
|
this.mode = 'iframe';
|
163
|
-
|
163
|
+
|
164
164
|
// Editor iframe state
|
165
165
|
this.editorDisabled = false;
|
166
166
|
|
@@ -168,9 +168,9 @@ this.MooEditable = new Class({
|
|
168
168
|
this.container.wraps(this.textarea);
|
169
169
|
|
170
170
|
this.textarea.setStyle('display', 'none');
|
171
|
-
|
171
|
+
|
172
172
|
this.iframe.setStyle('display', '').inject(this.textarea, 'before');
|
173
|
-
|
173
|
+
|
174
174
|
Object.each(this.dialogs, function(action, name){
|
175
175
|
Object.each(action, function(dialog){
|
176
176
|
document.id(dialog).inject(self.iframe, 'before');
|
@@ -196,7 +196,7 @@ this.MooEditable = new Class({
|
|
196
196
|
// contentWindow and document references
|
197
197
|
this.win = this.iframe.contentWindow;
|
198
198
|
this.doc = this.win.document;
|
199
|
-
|
199
|
+
|
200
200
|
// Deal with weird quirks on Gecko
|
201
201
|
if (Browser.firefox) this.doc.designMode = 'On';
|
202
202
|
|
@@ -228,7 +228,7 @@ this.MooEditable = new Class({
|
|
228
228
|
} else {
|
229
229
|
document.id(this.doc.body);
|
230
230
|
}
|
231
|
-
|
231
|
+
|
232
232
|
this.setContent(this.textarea.get('value'));
|
233
233
|
|
234
234
|
// Bind all events
|
@@ -256,7 +256,7 @@ this.MooEditable = new Class({
|
|
256
256
|
self.doc.body.addListener(event, self['editor' + event.capitalize()].bind(self));
|
257
257
|
});
|
258
258
|
this.textarea.addEvent('keypress', this.textarea.retrieve('mooeditable:textareaKeyListener', this.keyListener.bind(this)));
|
259
|
-
|
259
|
+
|
260
260
|
// Fix window focus event not firing on Firefox 2
|
261
261
|
if (Browser.firefox2) this.doc.addEvent('focus', function(){
|
262
262
|
self.win.fireEvent('focus').focus();
|
@@ -279,18 +279,18 @@ this.MooEditable = new Class({
|
|
279
279
|
document.id(this.toolbar).inject(this.container, 'top');
|
280
280
|
this.toolbar.render(this.actions);
|
281
281
|
}
|
282
|
-
|
282
|
+
|
283
283
|
if (this.options.disabled) this.disable();
|
284
284
|
|
285
285
|
this.selection = new MooEditable.Selection(this.win);
|
286
|
-
|
286
|
+
|
287
287
|
this.oldContent = this.getContent();
|
288
|
-
|
288
|
+
|
289
289
|
this.fireEvent('attach', this);
|
290
|
-
|
290
|
+
|
291
291
|
return this;
|
292
292
|
},
|
293
|
-
|
293
|
+
|
294
294
|
detach: function(){
|
295
295
|
this.saveContent();
|
296
296
|
this.textarea.setStyle('display', '').removeClass('mooeditable-textarea').inject(this.container, 'before');
|
@@ -299,141 +299,141 @@ this.MooEditable = new Class({
|
|
299
299
|
this.fireEvent('detach', this);
|
300
300
|
return this;
|
301
301
|
},
|
302
|
-
|
302
|
+
|
303
303
|
enable: function(){
|
304
304
|
this.editorDisabled = false;
|
305
305
|
this.toolbar.enable();
|
306
306
|
return this;
|
307
307
|
},
|
308
|
-
|
308
|
+
|
309
309
|
disable: function(){
|
310
310
|
this.editorDisabled = true;
|
311
311
|
this.toolbar.disable();
|
312
312
|
return this;
|
313
313
|
},
|
314
|
-
|
314
|
+
|
315
315
|
editorFocus: function(e){
|
316
316
|
this.oldContent = '';
|
317
317
|
this.fireEvent('editorFocus', [e, this]);
|
318
318
|
},
|
319
|
-
|
319
|
+
|
320
320
|
editorBlur: function(e){
|
321
321
|
this.oldContent = this.saveContent().getContent();
|
322
322
|
this.fireEvent('editorBlur', [e, this]);
|
323
323
|
},
|
324
|
-
|
324
|
+
|
325
325
|
editorMouseUp: function(e){
|
326
326
|
if (this.editorDisabled){
|
327
327
|
e.stop();
|
328
328
|
return;
|
329
329
|
}
|
330
|
-
|
330
|
+
|
331
331
|
if (this.options.toolbar) this.checkStates();
|
332
|
-
|
332
|
+
|
333
333
|
this.fireEvent('editorMouseUp', [e, this]);
|
334
334
|
},
|
335
|
-
|
335
|
+
|
336
336
|
editorMouseDown: function(e){
|
337
337
|
if (this.editorDisabled){
|
338
338
|
e.stop();
|
339
339
|
return;
|
340
340
|
}
|
341
|
-
|
341
|
+
|
342
342
|
this.fireEvent('editorMouseDown', [e, this]);
|
343
343
|
},
|
344
|
-
|
344
|
+
|
345
345
|
editorMouseOver: function(e){
|
346
346
|
if (this.editorDisabled){
|
347
347
|
e.stop();
|
348
348
|
return;
|
349
349
|
}
|
350
|
-
|
350
|
+
|
351
351
|
this.fireEvent('editorMouseOver', [e, this]);
|
352
352
|
},
|
353
|
-
|
353
|
+
|
354
354
|
editorMouseOut: function(e){
|
355
355
|
if (this.editorDisabled){
|
356
356
|
e.stop();
|
357
357
|
return;
|
358
358
|
}
|
359
|
-
|
359
|
+
|
360
360
|
this.fireEvent('editorMouseOut', [e, this]);
|
361
361
|
},
|
362
|
-
|
362
|
+
|
363
363
|
editorMouseEnter: function(e){
|
364
364
|
if (this.editorDisabled){
|
365
365
|
e.stop();
|
366
366
|
return;
|
367
367
|
}
|
368
|
-
|
368
|
+
|
369
369
|
if (this.oldContent && this.getContent() != this.oldContent){
|
370
370
|
this.focus();
|
371
371
|
this.fireEvent('editorPaste', [e, this]);
|
372
372
|
}
|
373
|
-
|
373
|
+
|
374
374
|
this.fireEvent('editorMouseEnter', [e, this]);
|
375
375
|
},
|
376
|
-
|
376
|
+
|
377
377
|
editorMouseLeave: function(e){
|
378
378
|
if (this.editorDisabled){
|
379
379
|
e.stop();
|
380
380
|
return;
|
381
381
|
}
|
382
|
-
|
382
|
+
|
383
383
|
this.fireEvent('editorMouseLeave', [e, this]);
|
384
384
|
},
|
385
|
-
|
385
|
+
|
386
386
|
editorContextMenu: function(e){
|
387
387
|
if (this.editorDisabled){
|
388
388
|
e.stop();
|
389
389
|
return;
|
390
390
|
}
|
391
|
-
|
391
|
+
|
392
392
|
this.fireEvent('editorContextMenu', [e, this]);
|
393
393
|
},
|
394
|
-
|
394
|
+
|
395
395
|
editorClick: function(e){
|
396
396
|
// make images selectable and draggable in Safari
|
397
397
|
if (Browser.safari || Browser.chrome){
|
398
398
|
var el = e.target;
|
399
399
|
if (Element.get(el, 'tag') == 'img'){
|
400
|
-
|
400
|
+
|
401
401
|
// safari doesnt like dragging locally linked images
|
402
402
|
if (this.options.baseURL){
|
403
403
|
if (el.getProperty('src').indexOf('http://') == -1){
|
404
404
|
el.setProperty('src', this.options.baseURL + el.getProperty('src'));
|
405
405
|
}
|
406
406
|
}
|
407
|
-
|
407
|
+
|
408
408
|
this.selection.selectNode(el);
|
409
409
|
this.checkStates();
|
410
410
|
}
|
411
411
|
}
|
412
|
-
|
412
|
+
|
413
413
|
this.fireEvent('editorClick', [e, this]);
|
414
414
|
},
|
415
|
-
|
415
|
+
|
416
416
|
editorDoubleClick: function(e){
|
417
417
|
this.fireEvent('editorDoubleClick', [e, this]);
|
418
418
|
},
|
419
|
-
|
419
|
+
|
420
420
|
editorKeyPress: function(e){
|
421
421
|
if (this.editorDisabled){
|
422
422
|
e.stop();
|
423
423
|
return;
|
424
424
|
}
|
425
|
-
|
425
|
+
|
426
426
|
this.keyListener(e);
|
427
|
-
|
427
|
+
|
428
428
|
this.fireEvent('editorKeyPress', [e, this]);
|
429
429
|
},
|
430
|
-
|
430
|
+
|
431
431
|
editorKeyUp: function(e){
|
432
432
|
if (this.editorDisabled){
|
433
433
|
e.stop();
|
434
434
|
return;
|
435
435
|
}
|
436
|
-
|
436
|
+
|
437
437
|
var c = e.code;
|
438
438
|
// 33-36 = pageup, pagedown, end, home; 45 = insert
|
439
439
|
if (this.options.toolbar && (/^enter|left|up|right|down|delete|backspace$/i.test(e.key) || (c >= 33 && c <= 36) || c == 45 || e.meta || e.control)){
|
@@ -444,31 +444,31 @@ this.MooEditable = new Class({
|
|
444
444
|
this.checkStates();
|
445
445
|
}
|
446
446
|
}
|
447
|
-
|
447
|
+
|
448
448
|
this.fireEvent('editorKeyUp', [e, this]);
|
449
449
|
},
|
450
|
-
|
450
|
+
|
451
451
|
editorKeyDown: function(e){
|
452
452
|
if (this.editorDisabled){
|
453
453
|
e.stop();
|
454
454
|
return;
|
455
455
|
}
|
456
|
-
|
456
|
+
|
457
457
|
if (e.key == 'enter'){
|
458
458
|
if (this.options.paragraphise){
|
459
459
|
if (e.shift && (Browser.safari || Browser.chrome)){
|
460
460
|
var s = this.selection;
|
461
461
|
var r = s.getRange();
|
462
|
-
|
462
|
+
|
463
463
|
// Insert BR element
|
464
464
|
var br = this.doc.createElement('br');
|
465
465
|
r.insertNode(br);
|
466
|
-
|
466
|
+
|
467
467
|
// Place caret after BR
|
468
468
|
r.setStartAfter(br);
|
469
469
|
r.setEndAfter(br);
|
470
470
|
s.setRange(r);
|
471
|
-
|
471
|
+
|
472
472
|
// Could not place caret after BR then insert an nbsp entity and move the caret
|
473
473
|
if (s.getSelection().focusNode == br.previousSibling){
|
474
474
|
var nbsp = this.doc.createTextNode('\u00a0');
|
@@ -478,10 +478,10 @@ this.MooEditable = new Class({
|
|
478
478
|
s.selectNode(nbsp);
|
479
479
|
s.collapse(1);
|
480
480
|
}
|
481
|
-
|
481
|
+
|
482
482
|
// Scroll to new position, scrollIntoView can't be used due to bug: http://bugs.webkit.org/show_bug.cgi?id=16117
|
483
483
|
this.win.scrollTo(0, Element.getOffsets(s.getRange().startContainer).y);
|
484
|
-
|
484
|
+
|
485
485
|
e.preventDefault();
|
486
486
|
} else if (Browser.firefox || Browser.safari || Browser.chrome){
|
487
487
|
var node = this.selection.getNode();
|
@@ -502,7 +502,7 @@ this.MooEditable = new Class({
|
|
502
502
|
}
|
503
503
|
}
|
504
504
|
}
|
505
|
-
|
505
|
+
|
506
506
|
if (Browser.opera){
|
507
507
|
var ctrlmeta = e.control || e.meta;
|
508
508
|
if (ctrlmeta && e.key == 'x'){
|
@@ -513,37 +513,37 @@ this.MooEditable = new Class({
|
|
513
513
|
this.fireEvent('editorPaste', [e, this]);
|
514
514
|
}
|
515
515
|
}
|
516
|
-
|
516
|
+
|
517
517
|
this.fireEvent('editorKeyDown', [e, this]);
|
518
518
|
},
|
519
|
-
|
519
|
+
|
520
520
|
editorCut: function(e){
|
521
521
|
if (this.editorDisabled){
|
522
522
|
e.stop();
|
523
523
|
return;
|
524
524
|
}
|
525
|
-
|
525
|
+
|
526
526
|
this.fireEvent('editorCut', [e, this]);
|
527
527
|
},
|
528
|
-
|
528
|
+
|
529
529
|
editorCopy: function(e){
|
530
530
|
if (this.editorDisabled){
|
531
531
|
e.stop();
|
532
532
|
return;
|
533
533
|
}
|
534
|
-
|
534
|
+
|
535
535
|
this.fireEvent('editorCopy', [e, this]);
|
536
536
|
},
|
537
|
-
|
537
|
+
|
538
538
|
editorPaste: function(e){
|
539
539
|
if (this.editorDisabled){
|
540
540
|
e.stop();
|
541
541
|
return;
|
542
542
|
}
|
543
|
-
|
543
|
+
|
544
544
|
this.fireEvent('editorPaste', [e, this]);
|
545
545
|
},
|
546
|
-
|
546
|
+
|
547
547
|
keyListener: function(e){
|
548
548
|
var key = (Browser.Platform.mac) ? e.meta : e.control;
|
549
549
|
if (!key || !this.keys[e.key]) return;
|
@@ -620,7 +620,7 @@ this.MooEditable = new Class({
|
|
620
620
|
}
|
621
621
|
return this;
|
622
622
|
},
|
623
|
-
|
623
|
+
|
624
624
|
ensureRootElement: function(val){
|
625
625
|
if (this.options.rootElement){
|
626
626
|
var el = new Element('div', {html: val.trim()});
|
@@ -648,7 +648,7 @@ this.MooEditable = new Class({
|
|
648
648
|
if (start >= 0 && create){
|
649
649
|
var newel = new Element(this.options.rootElement, {html: html});
|
650
650
|
el.replaceChild(newel, el.childNodes[start]);
|
651
|
-
for (var k=start+1; k<i; k++){
|
651
|
+
for (var k=start+1; k<i; k++){
|
652
652
|
el.removeChild(el.childNodes[k]);
|
653
653
|
length--;
|
654
654
|
i--;
|
@@ -668,7 +668,7 @@ this.MooEditable = new Class({
|
|
668
668
|
var element = this.selection.getNode();
|
669
669
|
if (!element) return;
|
670
670
|
if (typeOf(element) != 'element') return;
|
671
|
-
|
671
|
+
|
672
672
|
this.actions.each(function(action){
|
673
673
|
var item = this.toolbar.getItem(action);
|
674
674
|
if (!item) return;
|
@@ -676,20 +676,20 @@ this.MooEditable = new Class({
|
|
676
676
|
|
677
677
|
var states = MooEditable.Actions[action]['states'];
|
678
678
|
if (!states) return;
|
679
|
-
|
679
|
+
|
680
680
|
// custom checkState
|
681
681
|
if (typeOf(states) == 'function'){
|
682
682
|
states.attempt([document.id(element), item], this);
|
683
683
|
return;
|
684
684
|
}
|
685
|
-
|
685
|
+
|
686
686
|
try{
|
687
687
|
if (this.doc.queryCommandState(action)){
|
688
688
|
item.activate();
|
689
689
|
return;
|
690
690
|
}
|
691
691
|
} catch(e){}
|
692
|
-
|
692
|
+
|
693
693
|
if (states.tags){
|
694
694
|
var el = element;
|
695
695
|
do {
|
@@ -722,13 +722,13 @@ this.MooEditable = new Class({
|
|
722
722
|
|
723
723
|
cleanup: function(source){
|
724
724
|
if (!this.options.cleanup) return source.trim();
|
725
|
-
|
725
|
+
|
726
726
|
do {
|
727
727
|
var oSource = source;
|
728
|
-
|
728
|
+
|
729
729
|
// replace base URL references: ie localize links
|
730
730
|
if (this.options.baseURL){
|
731
|
-
source = source.replace('="' + this.options.baseURL, '="');
|
731
|
+
source = source.replace('="' + this.options.baseURL, '="');
|
732
732
|
}
|
733
733
|
|
734
734
|
// Webkit cleanup
|
@@ -820,11 +820,11 @@ this.MooEditable = new Class({
|
|
820
820
|
if (this.options.xhtml){
|
821
821
|
source = source.replace(/<img([^>]+)(\s*[^\/])>(<\/img>)*/gi, '<img$1$2 />');
|
822
822
|
}
|
823
|
-
|
823
|
+
|
824
824
|
//remove double <p> tags and empty <p> tags
|
825
825
|
source = source.replace(/<p>(?:\s*)<p>/g, '<p>');
|
826
826
|
source = source.replace(/<\/p>\s*<\/p>/g, '</p>');
|
827
|
-
|
827
|
+
|
828
828
|
// Replace <br>s inside <pre> automatically added by some browsers
|
829
829
|
source = source.replace(/<pre[^>]*>.*?<\/pre>/gi, function(match){
|
830
830
|
return match.replace(/<br ?\/?>/gi, '\n');
|
@@ -961,7 +961,7 @@ MooEditable.Selection = new Class({
|
|
961
961
|
|
962
962
|
return document.id(el);
|
963
963
|
}
|
964
|
-
|
964
|
+
|
965
965
|
return document.id(r.item ? r.item(0) : r.parentElement());
|
966
966
|
},
|
967
967
|
|
@@ -996,18 +996,18 @@ MooEditable.Selection = new Class({
|
|
996
996
|
// Wrapper functions to be used internally and for plugins, defaults to en-US
|
997
997
|
var phrases = {};
|
998
998
|
MooEditable.Locale = {
|
999
|
-
|
999
|
+
|
1000
1000
|
define: function(key, value){
|
1001
1001
|
if (typeOf(window.Locale) != 'null') return Locale.define('en-US', 'MooEditable', key, value);
|
1002
1002
|
if (typeOf(key) == 'object') Object.merge(phrases, key);
|
1003
1003
|
else phrases[key] = value;
|
1004
1004
|
},
|
1005
|
-
|
1005
|
+
|
1006
1006
|
get: function(key){
|
1007
1007
|
if (typeOf(window.Locale) != 'null') return Locale.get('MooEditable.' + key);
|
1008
1008
|
return key ? phrases[key] : '';
|
1009
1009
|
}
|
1010
|
-
|
1010
|
+
|
1011
1011
|
};
|
1012
1012
|
|
1013
1013
|
MooEditable.Locale.define({
|
@@ -1044,18 +1044,18 @@ MooEditable.UI.Toolbar= new Class({
|
|
1044
1044
|
*/
|
1045
1045
|
'class': ''
|
1046
1046
|
},
|
1047
|
-
|
1047
|
+
|
1048
1048
|
initialize: function(options){
|
1049
1049
|
this.setOptions(options);
|
1050
1050
|
this.el = new Element('div', {'class': 'mooeditable-ui-toolbar ' + this.options['class']});
|
1051
1051
|
this.items = {};
|
1052
1052
|
this.content = null;
|
1053
1053
|
},
|
1054
|
-
|
1054
|
+
|
1055
1055
|
toElement: function(){
|
1056
1056
|
return this.el;
|
1057
1057
|
},
|
1058
|
-
|
1058
|
+
|
1059
1059
|
render: function(actions){
|
1060
1060
|
if (this.content){
|
1061
1061
|
this.el.adopt(this.content);
|
@@ -1066,7 +1066,7 @@ MooEditable.UI.Toolbar= new Class({
|
|
1066
1066
|
}
|
1067
1067
|
return this;
|
1068
1068
|
},
|
1069
|
-
|
1069
|
+
|
1070
1070
|
addItem: function(action){
|
1071
1071
|
var self = this;
|
1072
1072
|
var act = MooEditable.Actions[action];
|
@@ -1083,15 +1083,15 @@ MooEditable.UI.Toolbar= new Class({
|
|
1083
1083
|
document.id(item).inject(this.el);
|
1084
1084
|
return item;
|
1085
1085
|
},
|
1086
|
-
|
1086
|
+
|
1087
1087
|
getItem: function(action){
|
1088
1088
|
return this.items[action];
|
1089
1089
|
},
|
1090
|
-
|
1090
|
+
|
1091
1091
|
addSeparator: function(){
|
1092
1092
|
return new Element('span', {'class': 'toolbar-separator'}).inject(this.el);
|
1093
1093
|
},
|
1094
|
-
|
1094
|
+
|
1095
1095
|
itemAction: function(){
|
1096
1096
|
this.fireEvent('itemAction', arguments);
|
1097
1097
|
},
|
@@ -1109,17 +1109,17 @@ MooEditable.UI.Toolbar= new Class({
|
|
1109
1109
|
});
|
1110
1110
|
return this;
|
1111
1111
|
},
|
1112
|
-
|
1112
|
+
|
1113
1113
|
show: function(){
|
1114
1114
|
this.el.setStyle('display', '');
|
1115
1115
|
return this;
|
1116
1116
|
},
|
1117
|
-
|
1117
|
+
|
1118
1118
|
hide: function(){
|
1119
1119
|
this.el.setStyle('display', 'none');
|
1120
1120
|
return this;
|
1121
1121
|
}
|
1122
|
-
|
1122
|
+
|
1123
1123
|
});
|
1124
1124
|
|
1125
1125
|
MooEditable.UI.Button = new Class({
|
@@ -1143,11 +1143,11 @@ MooEditable.UI.Button = new Class({
|
|
1143
1143
|
this.name = this.options.name;
|
1144
1144
|
this.render();
|
1145
1145
|
},
|
1146
|
-
|
1146
|
+
|
1147
1147
|
toElement: function(){
|
1148
1148
|
return this.el;
|
1149
1149
|
},
|
1150
|
-
|
1150
|
+
|
1151
1151
|
render: function(){
|
1152
1152
|
var self = this;
|
1153
1153
|
var key = (Browser.Platform.mac) ? 'Cmd' : 'Ctrl';
|
@@ -1164,7 +1164,7 @@ MooEditable.UI.Button = new Class({
|
|
1164
1164
|
}
|
1165
1165
|
});
|
1166
1166
|
if (this.options.mode != 'icon') this.el.addClass('mooeditable-ui-button-' + this.options.mode);
|
1167
|
-
|
1167
|
+
|
1168
1168
|
this.active = false;
|
1169
1169
|
this.disabled = false;
|
1170
1170
|
|
@@ -1173,20 +1173,20 @@ MooEditable.UI.Button = new Class({
|
|
1173
1173
|
mouseenter: function(e){ this.addClass('hover'); },
|
1174
1174
|
mouseleave: function(e){ this.removeClass('hover'); }
|
1175
1175
|
});
|
1176
|
-
|
1176
|
+
|
1177
1177
|
return this;
|
1178
1178
|
},
|
1179
|
-
|
1179
|
+
|
1180
1180
|
click: function(e){
|
1181
1181
|
e.preventDefault();
|
1182
1182
|
if (this.disabled) return;
|
1183
1183
|
this.action(e);
|
1184
1184
|
},
|
1185
|
-
|
1185
|
+
|
1186
1186
|
action: function(){
|
1187
|
-
this.fireEvent('action', [this].concat(Array.
|
1187
|
+
this.fireEvent('action', [this].concat(Array.convert(arguments)));
|
1188
1188
|
},
|
1189
|
-
|
1189
|
+
|
1190
1190
|
enable: function(){
|
1191
1191
|
if (this.active) this.el.removeClass('onActive');
|
1192
1192
|
if (!this.disabled) return;
|
@@ -1197,7 +1197,7 @@ MooEditable.UI.Button = new Class({
|
|
1197
1197
|
});
|
1198
1198
|
return this;
|
1199
1199
|
},
|
1200
|
-
|
1200
|
+
|
1201
1201
|
disable: function(){
|
1202
1202
|
if (this.disabled) return;
|
1203
1203
|
this.disabled = true;
|
@@ -1207,20 +1207,20 @@ MooEditable.UI.Button = new Class({
|
|
1207
1207
|
});
|
1208
1208
|
return this;
|
1209
1209
|
},
|
1210
|
-
|
1210
|
+
|
1211
1211
|
activate: function(){
|
1212
1212
|
if (this.disabled) return;
|
1213
1213
|
this.active = true;
|
1214
1214
|
this.el.addClass('onActive');
|
1215
1215
|
return this;
|
1216
1216
|
},
|
1217
|
-
|
1217
|
+
|
1218
1218
|
deactivate: function(){
|
1219
1219
|
this.active = false;
|
1220
1220
|
this.el.removeClass('onActive');
|
1221
1221
|
return this;
|
1222
1222
|
}
|
1223
|
-
|
1223
|
+
|
1224
1224
|
});
|
1225
1225
|
|
1226
1226
|
MooEditable.UI.Dialog = new Class({
|
@@ -1239,7 +1239,7 @@ MooEditable.UI.Dialog = new Class({
|
|
1239
1239
|
initialize: function(html, options){
|
1240
1240
|
this.setOptions(options);
|
1241
1241
|
this.html = html;
|
1242
|
-
|
1242
|
+
|
1243
1243
|
var self = this;
|
1244
1244
|
this.el = new Element('div', {
|
1245
1245
|
'class': 'mooeditable-ui-dialog ' + self.options['class'],
|
@@ -1252,22 +1252,22 @@ MooEditable.UI.Dialog = new Class({
|
|
1252
1252
|
}
|
1253
1253
|
});
|
1254
1254
|
},
|
1255
|
-
|
1255
|
+
|
1256
1256
|
toElement: function(){
|
1257
1257
|
return this.el;
|
1258
1258
|
},
|
1259
|
-
|
1259
|
+
|
1260
1260
|
click: function(){
|
1261
1261
|
this.fireEvent('click', arguments);
|
1262
1262
|
return this;
|
1263
1263
|
},
|
1264
|
-
|
1264
|
+
|
1265
1265
|
open: function(){
|
1266
1266
|
this.el.setStyle('display', '');
|
1267
1267
|
this.fireEvent('open', this);
|
1268
1268
|
return this;
|
1269
1269
|
},
|
1270
|
-
|
1270
|
+
|
1271
1271
|
close: function(){
|
1272
1272
|
this.el.setStyle('display', 'none');
|
1273
1273
|
this.fireEvent('close', this);
|
@@ -1359,7 +1359,7 @@ MooEditable.Actions = {
|
|
1359
1359
|
}
|
1360
1360
|
}
|
1361
1361
|
},
|
1362
|
-
|
1362
|
+
|
1363
1363
|
italic: {
|
1364
1364
|
title: MooEditable.Locale.get('italic'),
|
1365
1365
|
options: {
|
@@ -1395,7 +1395,7 @@ MooEditable.Actions = {
|
|
1395
1395
|
}
|
1396
1396
|
}
|
1397
1397
|
},
|
1398
|
-
|
1398
|
+
|
1399
1399
|
underline: {
|
1400
1400
|
title: MooEditable.Locale.get('underline'),
|
1401
1401
|
options: {
|
@@ -1406,7 +1406,7 @@ MooEditable.Actions = {
|
|
1406
1406
|
css: {'text-decoration': 'underline'}
|
1407
1407
|
}
|
1408
1408
|
},
|
1409
|
-
|
1409
|
+
|
1410
1410
|
strikethrough: {
|
1411
1411
|
title: MooEditable.Locale.get('strikethrough'),
|
1412
1412
|
options: {
|
@@ -1417,46 +1417,46 @@ MooEditable.Actions = {
|
|
1417
1417
|
css: {'text-decoration': 'line-through'}
|
1418
1418
|
}
|
1419
1419
|
},
|
1420
|
-
|
1420
|
+
|
1421
1421
|
insertunorderedlist: {
|
1422
1422
|
title: MooEditable.Locale.get('unorderedList'),
|
1423
1423
|
states: {
|
1424
1424
|
tags: ['ul']
|
1425
1425
|
}
|
1426
1426
|
},
|
1427
|
-
|
1427
|
+
|
1428
1428
|
insertorderedlist: {
|
1429
1429
|
title: MooEditable.Locale.get('orderedList'),
|
1430
1430
|
states: {
|
1431
1431
|
tags: ['ol']
|
1432
1432
|
}
|
1433
1433
|
},
|
1434
|
-
|
1434
|
+
|
1435
1435
|
indent: {
|
1436
1436
|
title: MooEditable.Locale.get('indent'),
|
1437
1437
|
states: {
|
1438
1438
|
tags: ['blockquote']
|
1439
1439
|
}
|
1440
1440
|
},
|
1441
|
-
|
1441
|
+
|
1442
1442
|
outdent: {
|
1443
1443
|
title: MooEditable.Locale.get('outdent')
|
1444
1444
|
},
|
1445
|
-
|
1445
|
+
|
1446
1446
|
undo: {
|
1447
1447
|
title: MooEditable.Locale.get('undo'),
|
1448
1448
|
options: {
|
1449
1449
|
shortcut: 'z'
|
1450
1450
|
}
|
1451
1451
|
},
|
1452
|
-
|
1452
|
+
|
1453
1453
|
redo: {
|
1454
1454
|
title: MooEditable.Locale.get('redo'),
|
1455
1455
|
options: {
|
1456
1456
|
shortcut: 'y'
|
1457
1457
|
}
|
1458
1458
|
},
|
1459
|
-
|
1459
|
+
|
1460
1460
|
unlink: {
|
1461
1461
|
title: MooEditable.Locale.get('removeHyperlink')
|
1462
1462
|
},
|