--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cm/media/js/client/c_dlg_intercept.js Mon Nov 23 15:14:29 2009 +0100
@@ -0,0 +1,60 @@
+
+// dialog related
+_afterDlg = function(args) {
+ var yesFunction = args[0] ;
+ var yesFunctionContext = args[1] ;
+ var yesFunctionArgs = args[2] ;
+ yesFunction.call(yesFunctionContext, yesFunctionArgs) ;
+}
+_abortNewCommentConfirmed = function(args) {
+ if (isICommentFormVisible()) {
+ if (gLayout.isInFrame()) {
+ gSync.hideICommentForm({fn:function(){_afterDlg(args) ;}}) ;
+ gSync.resume() ;
+ }
+ }
+}
+_abortNewReplyConfirmed = function(args) {
+ if (gNewReplyHost != null) {
+ if (gLayout.isInFrame()) {
+ cancelNewReplyForm() ;
+ _afterDlg(args) ;
+ }
+ }
+}
+_abortNewEditConfirmed = function(args) {
+ if (gEditICommentHost != null) {
+ if (gLayout.isInFrame()) {
+ cancelEditForm() ;
+ _afterDlg(args) ;
+ }
+ }
+}
+
+//if topIComment != null will check if edit or new reply is hosted by a child of topIComment
+//if topIComment == null will check if edit or a new reply is hosted somewhere
+checkForOpenedDialog = function(topIComment, yesFunction, yesFunctionContext, yesFunctionArgs) {
+ var childrenIds = [] ;
+ if (topIComment != null) {
+ childrenIds = CY.Array.map(gDb.getThreads([gDb.getComment(topIComment.commentId)]), function(comment) { return comment.id ;}) ;
+ }
+
+ if (isICommentFormVisible()
+ ||
+ (gNewReplyHost != null && (topIComment == null || CY.Array.indexOf(childrenIds, gNewReplyHost.commentId) != -1))
+ ||
+ (gEditICommentHost != null && (topIComment == null || CY.Array.indexOf(childrenIds, gEditICommentHost.commentId) != -1))) {
+ if (gLayout.isInFrame()) {
+ if (isICommentFormVisible())
+ parent.f_yesNoDialog(gettext("New comment will be canceled, continue?"), gettext("Warning"), null, null, null, _abortNewCommentConfirmed, this, [yesFunction, yesFunctionContext, yesFunctionArgs]) ;
+ else if (gNewReplyHost != null)
+ parent.f_yesNoDialog(gettext("Started reply will be canceled, continue?"), gettext("Warning"), null, null, null, _abortNewReplyConfirmed, this, [yesFunction, yesFunctionContext, yesFunctionArgs]) ;
+ else if (gEditICommentHost != null)
+ parent.f_yesNoDialog(gettext("Started comment edition will be canceled, continue?"), gettext("Warning"), null, null, null, _abortNewEditConfirmed, this, [yesFunction, yesFunctionContext, yesFunctionArgs]) ;
+ }
+ }
+ else {
+ yesFunction.call(yesFunctionContext, []) ;
+ }
+}
+