Skip to content

Commit 6096d22

Browse files
authored
Merge pull request #52 from dawoe/master
Fix media becoming null after clicking edit
2 parents 8b4718e + cad45b3 commit 6096d22

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

src/RJP.MultiUrlPicker/App_Plugins/RJP.MultiUrlPicker/MultiUrlPicker.js

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
$scope.renderModel = [];
99
$scope.cfg = { maxNumberOfItems: 0, minNumberOfItems: 0 };
1010
$scope.sortableOptions = { handle: '.handle' };
11+
$scope.editedMediaId = -1;
1112

1213
if( $scope.model.value ) {
1314
_.each($scope.model.value, function( item, i ) {
@@ -49,6 +50,12 @@
4950

5051
$scope.edit = function(index) {
5152
var link = $scope.renderModel[index];
53+
54+
// store the current edited media id
55+
if(link.isMedia && link.id !== null) {
56+
$scope.editedMediaId = link.id;
57+
}
58+
5259
dialogService.linkPicker({
5360
currentTarget: {
5461
id: link.isMedia ? null : link.id, // the linkPicker breaks if it get an id for media
@@ -104,16 +111,22 @@
104111
var link = new Link(e);
105112

106113
if( e.index !== undefined && e.index !== null ) {
114+
if(link.isMedia && link.id === null) {
115+
// we can assume the existing media item is changed and no new file has been selected
116+
// so we can restorte the existing id
117+
link.id = $scope.editedMediaId;
118+
}
107119
$scope.renderModel[ e.index ] = link;
108120
} else {
109121
$scope.renderModel.push( link );
110122
}
111123

112-
if( e.id && e.id > 0 ) {
113-
entityResource.getById( e.id, e.isMedia ? 'Media' : 'Document' ).then( setIcon );
124+
if( link.id && link.id > 0 ) {
125+
entityResource.getById( link.id, link.isMedia ? 'Media' : 'Document' ).then( setIcon );
114126
}
115127

116128
$scope.model.value = $scope.renderModel;
129+
$scope.editedMediaId = -1;
117130
dialogService.close();
118131
};
119132

0 commit comments

Comments
 (0)