Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
themeConfluence
languagejavascript
titlesupplyItem.js
isc.RestDataSource.create({
    "ID": "supplyItemsuppyItem",
    "fields": [
		{ name: [
        {"name":"itemID", "type": "sequence", "hidden": "true", "primaryKey": "true" },
        { "name": "itemName", "type": "text", "title": "Item", "length": "128", "required": "true" },
        { "name": "SKU", "type": "text", "title": "SKU", "length": "10", "required": "true" },
        { "name": "description", "type": "text", "title": "Description", "length": "2000" },
        { "name": "category", "type": "text", "title": "Category", "length": "128", "required": "true" },
        { "name": "units", "type": "enum", "title": "Units", "length": "5",
            "valueMap": ["Roll", "Ea", "Pkt", "Set", "Tube", "Pad", "Ream", "Tin", "Bag", "Ctn", "Box"]
        },
        { "name": "unitCost", "type": "float", "title": "Unit Cost", "required": "true",
            "validators": [
                { "type": "floatRange", "min": "0", "errorMessage": "Please enter a valid (positive) cost" },
                { "type": "floatPrecision", "precision": "2", "errorMessage": "The maximum allowed precision is 2" }
            ]
        },
  
        { "name": "inStock", "type": "boolean", "title": "In Stock" },
        { "name": "nextShipment", "type": "date", "title": "Next Shipment"}
   } 	],  
    "dataFormat": "json",
    criteriaPolicy:"dropOnChangeoperationBindings",:  [
  operationBindings: [             { "operationType": "fetch", "dataProtocol": "postMessage", "dataURL": "fetch.php" },
            
				{ "operationType": "add", "dataProtocol": "postMessage", "dataURL": "add.php" },
            				{ "operationType": "update", "dataProtocol": "postMessage", "dataURL": "update.php" },
            				{ "operationType": "remove", "dataProtocol": "postMessage", "dataURL": "remove.php" }
            ] 
}); 

Notice that this definition is almost a JSON file, with a small addendum at the beginning and the end. If the 'isc.RestDataSource.create(' part from the beginning and ');' part from the end were removed, this would give a valid JSON object which will be deserialized as a JSON object.

...

Code Block
themeEclipse
languagejavascript
titleus.js
isc.ListGrid.create({
    "ID": "supplyItem",
    "width": 700, "height": 224, "alternateRecordStyles": true,
    "dataSource": supplyItem,
    "showFilterEditor": true,
    "autoFetchData":true,
    "dataPageSize":20,
    "canEdit":true,
    "canRemoveRecords":true
});

Next, There needs to be a method for adding new records. Add a button which, on click, will trigger a new record being available for editing in the grid. The source for this is:

...