fnp
/
fnpeditor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
attachment list for links + bad links in red
[fnpeditor.git]
/
src
/
editor
/
plugins
/
core
/
links
/
linkElement.js
diff --git
a/src/editor/plugins/core/links/linkElement.js
b/src/editor/plugins/core/links/linkElement.js
index
8d280c7
..
7439804
100644
(file)
--- a/
src/editor/plugins/core/links/linkElement.js
+++ b/
src/editor/plugins/core/links/linkElement.js
@@
-9,6
+9,7
@@
var $ = require('libs/jquery'),
genericElement = require('modules/documentCanvas/canvas/genericElement'),
Dialog = require('views/dialog/dialog'),
boxTemplate = require('libs/text!./box.html'),
genericElement = require('modules/documentCanvas/canvas/genericElement'),
Dialog = require('views/dialog/dialog'),
boxTemplate = require('libs/text!./box.html'),
+ add_attachments = require('views/attachments/add_attachments'),
linkElement = Object.create(genericElement);
linkElement = Object.create(genericElement);
@@
-18,16
+19,26
@@
_.extend(linkElement, {
_.bindAll(this, 'changeLink', 'deleteLink');
var linkText = this.wlxmlNode.getAttr('href') || '',
_.bindAll(this, 'changeLink', 'deleteLink');
var linkText = this.wlxmlNode.getAttr('href') || '',
- linkUrl = this.getUrl(linkText);
+ linkUrl = this.getUrl(linkText),
+ badLink;
- this.box = $(_.template(boxTemplate)({text: linkText, url: linkUrl}));
+ if (linkText.substr(0,7) === 'file://') {
+ var filename = linkText.substr(7);
+ // ugly
+ badLink = (window.materials.indexOf(filename) < 0);
+ }
+
+ this.box = $(_.template(boxTemplate)({text: linkText, url: linkUrl, bad: badLink}));
this.box.find('.change').on('click', this.changeLink);
this.box.find('.delete').on('click', this.deleteLink);
this.box.hide();
this.addWidget(this.box);
},
this.box.find('.change').on('click', this.changeLink);
this.box.find('.delete').on('click', this.deleteLink);
this.box.hide();
this.addWidget(this.box);
},
- markAsCurrent: function(toggle) {
- this.box.toggle(toggle);
+ onStateChange: function(changes) {
+ genericElement.onStateChange.call(this, changes);
+ if(_.isBoolean(changes.active)) {
+ this.box.toggle(changes.active);
+ }
},
onNodeAttrChange: function(event) {
if(event.meta.attr === 'href') {
},
onNodeAttrChange: function(event) {
if(event.meta.attr === 'href') {
@@
-63,7
+74,7
@@
_.extend(linkElement, {
}, {
metadata: {
description: gettext('Edit link'),
}, {
metadata: {
description: gettext('Edit link'),
- fragment: doc.createFragment(doc.CaretFragment, {node: el.wlxmlNode.contents()[0], offset:
0
})
+ fragment: doc.createFragment(doc.CaretFragment, {node: el.wlxmlNode.contents()[0], offset:
offset
})
},
success: function() {
el.canvas.select(doc.createFragment(doc.CaretFragment, {node: el.wlxmlNode.contents()[0], offset:offset}));
},
success: function() {
el.canvas.select(doc.createFragment(doc.CaretFragment, {node: el.wlxmlNode.contents()[0], offset:offset}));
@@
-71,6
+82,7
@@
_.extend(linkElement, {
});
});
dialog.show();
});
});
dialog.show();
+ add_attachments(dialog);
},
deleteLink: function() {
},
deleteLink: function() {