File tree Expand file tree Collapse file tree 3 files changed +36
-6
lines changed Expand file tree Collapse file tree 3 files changed +36
-6
lines changed Original file line number Diff line number Diff line change 2020 *
2121 * @var string
2222 */
23- define ('MPG_APP_VERSION ' , '0.9.6 ' );
23+ define ('MPG_APP_VERSION ' , '0.9.7 ' );
2424
2525/**
2626 * Development mode?
Original file line number Diff line number Diff line change @@ -190,18 +190,26 @@ var JsonView = (function (exports) {
190190 } else {
191191
192192 // XXX Modification made for MongoDB PHP GUI.
193+ if ( node . key === '_id' ) {
194+ MPG . documentId = node . value ;
195+ MPG . documentIdType = 'int' ;
196+ }
193197 if ( node . key === '$oid' ) {
194198 MPG . documentId = node . value ;
199+ MPG . documentIdType = 'string' ;
195200 }
196- if ( node . depth >= 2 && node . depth <= 5 && node . key !== ' $oid' ) {
201+ if ( node . depth >= 2 && node . depth <= 5 && ! ( / ( _ i d | \ $o i d ) / ) . test ( node . key ) ) {
197202 var documentFieldIsUpdatable = true ;
198203 } else {
199204 var documentFieldIsUpdatable = false ;
200205 }
201206
202207 el . innerHTML = notExpandedTemplate ( {
203208 key : node . key ,
204- value : node . value ,
209+
210+ // XXX Modification made for MongoDB PHP GUI.
211+ value : ( node . value === '' ) ? '<i>empty</i>' : node . value ,
212+
205213 type : _typeof ( node . value ) ,
206214
207215 // XXX Modification made for MongoDB PHP GUI.
Original file line number Diff line number Diff line change @@ -56,6 +56,14 @@ MPG.collectionFields = [];
5656 */
5757MPG . documentId = '' ;
5858
59+ /**
60+ * Type of document ID.
61+ * XXX Used by JsonView parser.
62+ *
63+ * @type {string }
64+ */
65+ MPG . documentIdType = '' ;
66+
5967/**
6068 * Initializes CodeMirror instance.
6169 *
@@ -412,7 +420,15 @@ MPG.eventListeners.addDeleteOne = function() {
412420 if ( filterOrDocTextAreaValue === '' ) {
413421 return window . alert ( 'Please fill the filter text area.' ) ;
414422 }
415-
423+
424+ var deleteConfirmation = window . confirm (
425+ 'Do you really want to delete document matching this criteria:\n' + filterOrDocTextAreaValue
426+ )
427+
428+ if ( deleteConfirmation === false ) {
429+ return ;
430+ }
431+
416432 requestBody . filter = JSON . parse ( filterOrDocTextAreaValue ) ;
417433
418434 MPG . helpers . doAjaxRequest (
@@ -459,9 +475,15 @@ MPG.eventListeners.addUpdate = function() {
459475 documentFieldNewValue , documentField . dataset . documentFieldType
460476 ) ;
461477
478+ if ( MPG . documentIdType === 'int' ) {
479+ var documentId = parseInt ( documentField . dataset . documentId ) ;
480+ } else {
481+ var documentId = documentField . dataset . documentId ;
482+ }
483+
462484 var requestBody = {
463485 "filter" : {
464- "_id" : documentField . dataset . documentId
486+ "_id" : documentId
465487 } ,
466488 "update" : {
467489 "$set" : { }
@@ -481,7 +503,7 @@ MPG.eventListeners.addUpdate = function() {
481503 documentFieldNewValue
482504 ) ;
483505 }
484-
506+
485507 } ,
486508 JSON . stringify ( requestBody )
487509 ) ;
You can’t perform that action at this time.
0 commit comments