UNPKG

graft-react

Version:

react admin and helper components for graft-db

94 lines (93 loc) 2.74 kB
"use strict"; var React = require("react"); var FontIcons_1 = require("react-md/lib/FontIcons"); var graft_db_1 = require("graft-db"); function friendlyObjectName(o) { var v = find(o.values, function (v) { return /name/i.test(v.property.name); }); if (v) { if (v.stringValue) { return v.stringValue; } } return o.id; } exports.friendlyObjectName = friendlyObjectName; function propertyIconName(t) { switch (t) { case graft_db_1.PropertyType.Label: return 'label'; case graft_db_1.PropertyType.RichText: return 'art_track'; case graft_db_1.PropertyType.Int: return 'iso'; case graft_db_1.PropertyType.Edge: return 'link'; case graft_db_1.PropertyType.Image: return 'image'; case graft_db_1.PropertyType.Location: return 'map'; case graft_db_1.PropertyType.Enum: return 'sort'; default: return 'text_fields'; } } exports.propertyIconName = propertyIconName; function propertyIcon(t) { return React.createElement(FontIcons_1.default, null, propertyIconName(t)); } exports.propertyIcon = propertyIcon; function blobToUint8Array(blob) { return new Promise(function (resolve, reject) { var done = false; var r = new FileReader(); r.onload = function (_progressEvent) { if (done) { return; } var buf = r.result; var uint8array = new Uint8Array(buf); done = true; resolve(uint8array); }; r.onerror = function (err) { if (done) { return; } done = true; reject(err); }; r.readAsArrayBuffer(blob); }); } exports.blobToUint8Array = blobToUint8Array; function blobToDataURL(blob) { return new Promise(function (resolve, reject) { var done = false; var r = new FileReader(); r.onload = function (_progressEvent) { if (done) { return; } var url = r.result; done = true; resolve(url); }; r.onerror = function (err) { if (done) { return; } done = true; reject(err); }; r.readAsDataURL(blob); }); } exports.blobToDataURL = blobToDataURL; function find(arr, fn) { for (var i = 0; i < arr.length; i++) { var res = fn(arr[i], i); if (res) { return arr[i]; } } return undefined; } exports.find = find; function startsWith(srcString, searchString, position) { return srcString.substr(position || 0, searchString.length) === searchString; } exports.startsWith = startsWith; ;