X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/6515d67111202f746a1a58c66dcf2261636f2a26..091b7b5:/src/editor/plugins/core/metadataEditor/view.js diff --git a/src/editor/plugins/core/metadataEditor/view.js b/src/editor/plugins/core/metadataEditor/view.js index 2857736..cde4f89 100644 --- a/src/editor/plugins/core/metadataEditor/view.js +++ b/src/editor/plugins/core/metadataEditor/view.js @@ -3,8 +3,9 @@ define([ 'libs/underscore', 'libs/text!./templates/main.html', 'libs/text!./templates/item.html', -'views/openSelect/openSelect' -], function($, _, mainTemplate, itemTemplate, OpenSelectView) { +'views/openSelect/openSelect', +'views/attachments/attachments' +], function($, _, mainTemplate, itemTemplate, OpenSelectView, attachments) { 'use strict'; /* globals gettext */ @@ -104,6 +105,16 @@ _.extend(View.prototype, { }); return toret; }, + getIsFileForKey: function(key) { + var toret = false; + this.metadataConfig.some(function(configRow) { + if (configRow.key == key) { + toret = configRow.isFile || false; + return true + } + }); + return toret; + }, setMetadata: function(node) { this.dom.find('.rng-module-metadataEditor-addBtn').attr('disabled', !node); if(!node) { @@ -117,7 +128,18 @@ _.extend(View.prototype, { view.addMetadataRow(row); }); }, + getMetadataByKey: function (key) { + var ret; + this.node.getMetadata().some(function (row) { + if (row.key == 'relation.coverimage.url') { + ret = row.value; + return true; + } + }); + return ret; + }, addMetadataRow: function(row) { + console.log(row); var newRow = $(_.template(itemTemplate)({key: row.getKey() || '', value: row.getValue() || ''})); newRow.appendTo(this.metaTable); newRow.data('row', row); @@ -134,6 +156,7 @@ _.extend(View.prototype, { this.getValuesForKey(value).forEach(function(value) { valueSelectView.addItem(value); }); + }.bind(this) }); newRow.find('td:first').append(keySelectView.el).data('view', keySelectView); @@ -152,7 +175,18 @@ _.extend(View.prototype, { } }); newRow.find('td:nth-child(2)').append(valueSelectView.el).data('view', valueSelectView); - + + if (this.getIsFileForKey(row.getKey())) { + var el = $("" + gettext('attachments') + ""); + el.on('click', function() { + attachments.select(function(v) { + valueSelectView.setInput(v); + }); + return false; + }); + newRow.find('td:nth-child(2)').append(el); + } + this.metadataConfig.forEach(function(configRow) { keySelectView.addItem(configRow.key);