Skip to content

Commit dfee833

Browse files
Switch to new hv after creation
1 parent b3e8b08 commit dfee833

1 file changed

Lines changed: 21 additions & 6 deletions

File tree

src/player/modules/Sidebar/module.js

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,8 @@ FrameTrail.defineModule('Sidebar', function(FrameTrail){
113113
"slidingMode": "adjust",
114114
"slidingTrigger": "key",
115115
"theme": "",
116-
"autohideControls": newDialogCtrl.element.querySelector('input[name="config[autohideControls]"]').checked,
117-
"captionsVisible": newDialogCtrl.element.querySelector('input[name="config[captionsVisible]"]').checked,
116+
"autohideControls": (newDialogCtrl.element.querySelector('input[name="config[autohideControls]"]') || {}).checked || false,
117+
"captionsVisible": (newDialogCtrl.element.querySelector('input[name="config[captionsVisible]"]') || {}).checked || false,
118118
"clipTimeVisible": false,
119119
"layoutArea": {
120120
"areaTop": [],
@@ -220,13 +220,21 @@ FrameTrail.defineModule('Sidebar', function(FrameTrail){
220220
}
221221
});
222222

223-
return Promise.all(writeTasks);
223+
return Promise.all(writeTasks).then(function() {
224+
return newID;
225+
});
224226
});
225-
}).then(function() {
227+
}).then(function(newID) {
228+
var wasEditMode = FrameTrail.getState('editMode');
226229
newDialogCtrl.close();
227230
FrameTrail.module('Database').loadHypervideoData(
228231
function() {
229232
FrameTrail.module('ViewOverview').refreshList();
233+
history.pushState({ editMode: wasEditMode }, '', '#hypervideo=' + newID);
234+
if (wasEditMode) {
235+
FrameTrail.changeState('editMode', false);
236+
}
237+
FrameTrail.module('HypervideoModel').updateHypervideo(newID, wasEditMode, true);
230238
},
231239
function() {}
232240
);
@@ -476,8 +484,8 @@ FrameTrail.defineModule('Sidebar', function(FrameTrail){
476484
"slidingMode": "adjust",
477485
"slidingTrigger": "key",
478486
"theme": "",
479-
"autohideControls": newDialog.querySelector('input[name="config[autohideControls]"]').checked,
480-
"captionsVisible": newDialog.querySelector('input[name="config[captionsVisible]"]').checked,
487+
"autohideControls": (newDialog.querySelector('input[name="config[autohideControls]"]') || {}).checked || false,
488+
"captionsVisible": (newDialog.querySelector('input[name="config[captionsVisible]"]') || {}).checked || false,
481489
"clipTimeVisible": false,
482490
"layoutArea": {
483491
"areaTop": [],
@@ -538,10 +546,17 @@ FrameTrail.defineModule('Sidebar', function(FrameTrail){
538546
.then(function(response) {
539547
switch(response['code']) {
540548
case 0:
549+
var newID = response['newHypervideoID'];
550+
var wasEditMode = FrameTrail.getState('editMode');
541551
newDialogCtrl.close();
542552
FrameTrail.module('Database').loadHypervideoData(
543553
function(){
544554
FrameTrail.module('ViewOverview').refreshList();
555+
history.pushState({ editMode: wasEditMode }, '', '#hypervideo=' + newID);
556+
if (wasEditMode) {
557+
FrameTrail.changeState('editMode', false);
558+
}
559+
FrameTrail.module('HypervideoModel').updateHypervideo(newID, wasEditMode, true);
545560
},
546561
function(){}
547562
);

0 commit comments

Comments
 (0)