X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/856f00d24d37590a78b78833a8aa305983e58e45..7b7f19b8680ed7653359bede5833d2cffc11ef8c:/src/editor/plugins/core/edumed/order/element.js diff --git a/src/editor/plugins/core/edumed/order/element.js b/src/editor/plugins/core/edumed/order/element.js index 7c5e383..724f2ec 100644 --- a/src/editor/plugins/core/edumed/order/element.js +++ b/src/editor/plugins/core/edumed/order/element.js @@ -6,13 +6,13 @@ define(function(require) { var _ = require('libs/underscore'); -var documentElement = require('modules/documentCanvas/canvas/documentElement'), +var elementBase = require('plugins/core/edumed/elementBase'), OrderExerciseView = require('./view'); -var OrderExerciceElement = Object.create(documentElement.DocumentNodeElement.prototype); +var OrderExerciceElement = Object.create(elementBase); _.extend(OrderExerciceElement, { init: function() { - documentElement.DocumentNodeElement.prototype.init.call(this); + elementBase.init.call(this); this.view = new OrderExerciseView(this, this.wlxmlNode); this._container().append(this.view.dom); @@ -55,8 +55,9 @@ _.extend(OrderExerciceElement, { var exerciseNode = this.wlxmlNode; this.createContainer(this.wlxmlNode.object.getDescription(), { + resetBackground: true, manages: function(node, removedFrom) { - if(node.is('list.orderable')) { + if(node.is('list.orderable') || (removedFrom && removedFrom.is('list.orderable'))) { return false; } return exerciseNode.sameNode(node.parent() || removedFrom); //!n.hasFollowingSibing(this.params.listnode); @@ -78,6 +79,12 @@ _.extend(OrderExerciceElement, { this.reloadView(); } }, + onNodeDetached: function(event) { + var node = event.meta.node; + if(node.is('item.answer') && event.meta.parent && event.meta.parent.is('list.orderable')) { + this.reloadView(); + } + }, reloadView: function() { this.view.clearItems(); this.wlxmlNode.object.getItems().forEach(function(item) {