diff --git a/AndorsTrailEdit/controllers.js b/AndorsTrailEdit/controllers.js index a250492d1..167ebfdb1 100644 --- a/AndorsTrailEdit/controllers.js +++ b/AndorsTrailEdit/controllers.js @@ -262,6 +262,25 @@ var ATEditor = (function(ATEditor, model, importExport, exampleData) { }; }; + controllers.SelectIconController = function($scope, $routeParams) { + var _callback = function() {}; + $scope.selectedSection = ''; + $scope.sections = []; + _.each([ 'monster', 'item', 'actorcondition' ], function(id) { + $scope.sections.push({id: id, imageIDs: ATEditor.tilesets.getIconIDsForSection(id)}); + }); + + this.startSelecting = function(sectionId, callback) { + _callback = callback; + $scope.selectedSection = sectionId; + $scope.$apply(); + }; + + $scope.imageSelected = function(iconID) { + if (_callback) { _callback(iconID); } + }; + }; + ATEditor.controllers = controllers; return ATEditor; })(ATEditor, ATEditor.model, ATEditor.importExport, ATEditor.exampleData); diff --git a/AndorsTrailEdit/directives.js b/AndorsTrailEdit/directives.js index 3de960180..61b486679 100644 --- a/AndorsTrailEdit/directives.js +++ b/AndorsTrailEdit/directives.js @@ -66,5 +66,24 @@ var ATEditor = (function(ATEditor, app, tilesets, $) { }; }); + app.directive('ngSelectImage', function () { + return { + link : function(scope, element, attrs) { + function openDialog() { + var element = angular.element('#selectIconModal'); + var ctrl = element.controller(); + ctrl.startSelecting(attrs.ngSelectImage, function(iconID) { + element.modal('hide'); + var s = attrs.ngSelectImageDest || 'iconID'; + eval("scope." + s + "='" + iconID + "'"); + //scope.$apply(); + }); + element.modal('show'); + } + element.bind('click', openDialog); + } + } + }); + return ATEditor; })(ATEditor, ATEditor.app, ATEditor.tilesets, jQuery); diff --git a/AndorsTrailEdit/edit_actorcondition.html b/AndorsTrailEdit/edit_actorcondition.html index e827bffdf..2c9649bde 100644 --- a/AndorsTrailEdit/edit_actorcondition.html +++ b/AndorsTrailEdit/edit_actorcondition.html @@ -4,7 +4,7 @@
-
+
diff --git a/AndorsTrailEdit/edit_item.html b/AndorsTrailEdit/edit_item.html index dacb30dae..89981254e 100644 --- a/AndorsTrailEdit/edit_item.html +++ b/AndorsTrailEdit/edit_item.html @@ -4,7 +4,7 @@
-
+
diff --git a/AndorsTrailEdit/edit_monster.html b/AndorsTrailEdit/edit_monster.html index 11f872086..289b0a6c7 100644 --- a/AndorsTrailEdit/edit_monster.html +++ b/AndorsTrailEdit/edit_monster.html @@ -4,7 +4,7 @@
-
+
diff --git a/AndorsTrailEdit/editor.html b/AndorsTrailEdit/editor.html index 77289ea6b..8c4ca1f03 100644 --- a/AndorsTrailEdit/editor.html +++ b/AndorsTrailEdit/editor.html @@ -76,10 +76,26 @@
- +
+