forked from 0x2620/oxjs
add InsertHTMLDialog to VideoEditor
This commit is contained in:
parent
658fca3c76
commit
4dd2c5706d
7 changed files with 249 additions and 8 deletions
|
|
@ -226,6 +226,9 @@ Ox.AnnotationFolder = function(options, self) {
|
|||
self.editing = true;
|
||||
that.triggerEvent('edit');
|
||||
},
|
||||
insert: function(data) {
|
||||
that.triggerEvent('insert', data);
|
||||
},
|
||||
select: selectAnnotation,
|
||||
selectafter: function() {
|
||||
that.triggerEvent('selectafter');
|
||||
|
|
|
|||
|
|
@ -148,8 +148,6 @@ Ox.AnnotationPanel = function(options, self) {
|
|||
that.triggerEvent('add', Ox.extend({layer: layer.id}, data));
|
||||
},
|
||||
blur: function() {
|
||||
self.editing = false;
|
||||
renderEditMenu();
|
||||
that.triggerEvent('blur');
|
||||
},
|
||||
change: function(data) {
|
||||
|
|
@ -163,6 +161,7 @@ Ox.AnnotationPanel = function(options, self) {
|
|||
info: function(data) {
|
||||
that.triggerEvent('info', {layer: layer.id});
|
||||
},
|
||||
insert: insert,
|
||||
remove: function(data) {
|
||||
that.triggerEvent('remove', Ox.extend({layer: layer.id}, data));
|
||||
},
|
||||
|
|
@ -258,6 +257,18 @@ Ox.AnnotationPanel = function(options, self) {
|
|||
return folder;
|
||||
}
|
||||
|
||||
function insert(data) {
|
||||
var id = data.id;
|
||||
Ox.InsertHTMLDialog(Ox.extend({
|
||||
callback: function(data) {
|
||||
Ox.UI.elements[id]
|
||||
.value(data.value)
|
||||
.focusInput(data.position)
|
||||
.triggerEvent('change', data.value);
|
||||
}
|
||||
}, data)).open();
|
||||
}
|
||||
|
||||
function renderEditMenu() {
|
||||
Ox.print('RENDER EDIT MENU')
|
||||
var annotation, annotationTitle, folder,
|
||||
|
|
@ -288,7 +299,7 @@ Ox.AnnotationPanel = function(options, self) {
|
|||
{id: 'edit', title: 'Edit Annotation', disabled: !self.options.selected || !isEditable || self.editing, keyboard: 'return'},
|
||||
{id: 'delete', title: 'Delete Annotation', disabled: !self.options.selected || !isEditable, keyboard: 'delete'},
|
||||
{},
|
||||
{id: 'insert', title: 'Insert...', disabled: isString || !self.editing},
|
||||
{id: 'insert', title: 'Insert...', disabled: isString || !self.editing, keyboard: 'control i'},
|
||||
{id: 'undo', title: 'Undo Changes', disabled: !self.editing, keyboard: 'escape'},
|
||||
{id: 'save', title: 'Save Changes', disabled: !self.editing, keyboard: isString ? 'return' : 'shift return'},
|
||||
],
|
||||
|
|
@ -322,6 +333,8 @@ Ox.AnnotationPanel = function(options, self) {
|
|||
that.triggerEvent('find', {value: value});
|
||||
} else if (data.id == 'findannotations') {
|
||||
that.triggerEvent('findannotations', {key: key, value: value});
|
||||
} else if (data.id == 'insert') {
|
||||
insert({});
|
||||
} else if (data.id == 'manage') {
|
||||
that.triggerEvent('define', {
|
||||
id: self.options.selected,
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ Ox.VideoEditor = function(options, self) {
|
|||
self.results = [];
|
||||
self.words = getWords();
|
||||
|
||||
Ox.print('VIDEO EDITOR OPTIONS', self.options)
|
||||
//Ox.print('VIDEO EDITOR OPTIONS', self.options)
|
||||
|
||||
self.$editor = Ox.Element()
|
||||
.addClass('OxVideoEditor')
|
||||
|
|
@ -606,9 +606,13 @@ Ox.VideoEditor = function(options, self) {
|
|||
},
|
||||
blur: function(data) {
|
||||
Ox.print('VIDEO EDITOR BLUR')
|
||||
// Only blur if neither the video editor
|
||||
// nor an active menu layer received the click
|
||||
if (!self.focused && !$('.OxMenuLayer').length) {
|
||||
// Only blur if the video editor did not receive the click,
|
||||
// no dialog is open, and no menu was visible
|
||||
if (
|
||||
!self.focused
|
||||
&& !$('.OxDialogLayer').length
|
||||
&& !$('.OxMenuLayer').length
|
||||
) {
|
||||
blurAnnotation();
|
||||
}
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue