Skip to content

Commit 2dc0ad4

Browse files
committed
Fix update one operation
1 parent 310568d commit 2dc0ad4

File tree

3 files changed

+36
-6
lines changed

3 files changed

+36
-6
lines changed

index.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
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?

static/js/jsonview.bundle.mod.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff 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 && !(/(_id|\$oid)/).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.

static/js/mpg.js

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,14 @@ MPG.collectionFields = [];
5656
*/
5757
MPG.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
);

0 commit comments

Comments
 (0)