diff -r 000000000000 -r 40c8f766c9b8 src/cm/media/js/client/c_edit_form.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cm/media/js/client/c_edit_form.js Mon Nov 23 15:14:29 2009 +0100
@@ -0,0 +1,128 @@
+gEditICommentHost = null ;
+gEdit = null ;
+
+dbgc = null ;
+showEditForm = function(iCommentHost) {
+
+ if (gEdit == null) {
+ gEdit = {
+ 'ids':{
+ 'formId':CY.guid(),
+ 'formTitleId':CY.guid(),
+ 'nameInputId':CY.guid(),
+ 'emailInputId':CY.guid(),
+ 'titleInputId':CY.guid(),
+ 'contentInputId':CY.guid(),
+ 'tagsInputId':CY.guid(),
+ 'formatInputId':CY.guid(),
+ 'startWrapperInputId':CY.guid(),
+ 'endWrapperInputId':CY.guid(),
+ 'startOffsetInputId':CY.guid(),
+ 'endOffsetInputId':CY.guid(),
+ 'changeScopeInputId':CY.guid(),
+ 'changeScopeInputWrapper':CY.guid(),
+ 'selectionPlaceId':CY.guid(),
+ 'keyId':CY.guid(),
+ 'editCommentId':CY.guid(),
+ 'currentSelId':CY.guid(),
+ 'currentSelIdI':CY.guid(),
+ 'addBtnId':CY.guid(),
+ 'cancelBtnId':CY.guid()
+ },
+ 'handlers':{}
+ } ;
+ }
+
+ gEditICommentHost = iCommentHost ;
+
+ gEditICommentHost.hideContent() ;
+
+// FORM HTML
+ var overlayHtml = getHtml(gEdit['ids']) ;
+ var editHeader = '
' ;
+ var editBody = '' + overlayHtml['bodyContent'] + '
' ;
+
+// cf. http://yuilibrary.com/projects/yui3/ticket/2528319
+ gEditICommentHost['overlay'].setStdModContent(CY.WidgetStdMod.HEADER,CY.Node.create(editHeader),CY.WidgetStdMod.AFTER);
+ gEditICommentHost['overlay'].setStdModContent(CY.WidgetStdMod.BODY,CY.Node.create(editBody),CY.WidgetStdMod.AFTER);
+
+// FORM TITLE
+ CY.get("#"+gEdit['ids']['formTitleId']).set('innerHTML', gettext("Edit comment")) ;
+
+// FETCH FORM VALUES FROM COMMENT
+
+ var comment = gDb.getComment(gEditICommentHost.commentId) ;
+ CY.get("#"+gEdit['ids']['editCommentId']).set('value', comment.id) ;
+ CY.get("#"+gEdit['ids']['keyId']).set('value', comment.key) ;
+
+ CY.get("#"+gEdit['ids']['changeScopeInputId']+" input").set('checked', false) ;
+ if (comment.reply_to_id != null)
+ CY.get("#"+gEdit['ids']['changeScopeInputId']).addClass('displaynone')
+ changeScopeFormClick() ; // to adapt
+
+ CY.get("#"+gEdit['ids']['nameInputId']).set('value', comment.name) ;
+ CY.get("#"+gEdit['ids']['emailInputId']).set('value', comment.email) ;
+
+ if (comment.logged_author) {
+ CY.get("#"+gEdit['ids']['nameInputId']).setAttribute("disabled", true);
+ CY.get("#"+gEdit['ids']['emailInputId']).setAttribute("disabled", true);
+ }
+
+// FORM VALUES
+ CY.get("#"+gEdit['ids']['titleInputId']).set('value', comment['title']) ;
+ CY.get("#"+gEdit['ids']['contentInputId']).set('value', comment['content']) ;
+ CY.get("#"+gEdit['ids']['tagsInputId']).set('value', comment['tags']) ;
+
+ CY.get("#"+gEdit['ids']['formatInputId']).set('value',gConf['defaultCommentFormat']) ;// for now ...
+
+// WIDTH
+ var width = gLayout.getTopICommentsWidth() ;
+ changeFormFieldsWidth(gEdit['ids']['formId'], width) ;
+
+// ATTACH EVENT HANDLERS
+ gEdit['handlers']['addBtnId'] = CY.on("click", onEditSaveClick, "#"+gEdit['ids']['addBtnId']);
+ gEdit['handlers']['cancelBtnId'] = CY.on("click", onEditCancelClick, "#"+gEdit['ids']['cancelBtnId']);
+ gEdit['handlers']['changeScope'] = CY.on("click", onChangeScopeClick, "#"+gEdit['ids']['changeScopeInputId']);
+
+}
+onEditSaveClick = function(iCommentHost) {
+ if (readyForAction())
+ gSync.editComment() ;
+}
+onEditCancelClick = function(iCommentHost) {
+ if (readyForAction())
+ gSync.cancelEdit() ;
+}
+onChangeScopeClick = function() {
+ if (readyForAction())
+ gSync.changeScopeFormClick() ;
+}
+changeScopeFormClick = function() {
+ var node = CY.get("#"+gEdit['ids']['currentSelId']) ;
+ if (CY.get("#"+gEdit['ids']['changeScopeInputId']+" input").get('checked'))
+ node.removeClass('displaynone') ;
+ else
+ node.addClass('displaynone') ;
+}
+cancelEditForm = function() {
+ if (gEditICommentHost != null) {
+// DETACH EVENT HANDLERS
+ for (var id in gEdit['handlers']) {
+ if (gEdit['handlers'][id] != null) {
+ gEdit['handlers'][id].detach() ;
+ gEdit['handlers'][id] = null ;
+ }
+ }
+
+// REMOVE EDIT FORM NODES FROM ICOMMENT OVERLAY
+ var node = gEditICommentHost['overlay'].get('contentBox').query(".icomment-edit-body") ;
+ node.get('parentNode').removeChild(node) ;
+ node = gEditICommentHost['overlay'].get('contentBox').query(".icomment-edit-header") ;
+ node.get('parentNode').removeChild(node) ;
+
+// SHOW ICOMMENT OVERLAY
+ gEditICommentHost.showContent() ;
+
+ gEditICommentHost = null ;
+ }
+}