diff --git a/ui (gen4)/features/base.js b/ui (gen4)/features/base.js index a4dae15e..d377d713 100755 --- a/ui (gen4)/features/base.js +++ b/ui (gen4)/features/base.js @@ -829,6 +829,7 @@ actions.Actions({ // NOTE: resetting this option will clear the last direction... toggleShiftsAffectDirection: ['Interface/Shifts affect direction', + {browseMode: 'toggleBrowseActionKeys'}, core.makeConfigToggler('shifts-affect-direction', ['off', 'on'], function(action){ @@ -1028,6 +1029,18 @@ actions.Actions({ // XXX are these too powerfull?? // ...should the user have these or be forced to ctrl+a -> ctrl+pgdown mergeRibbon: ['- Edit|Ribbon/', + core.doc`Merge ribbon up/down... + + Merge current ribbon up/down... + .mergeRibbon('up') + .mergeRibbon('down') + + Merge specific ribbon up/down... + .mergeRibbon('up', ribbon) + .mergeRibbon('down', ribbon) + + NOTE: ribbon must be a value compatible with .data.getRibbon(..) + `, function(direction, ribbon){ return this['shiftImage'+ direction.capitalize()]( this.data.getImages( @@ -1040,6 +1053,7 @@ actions.Actions({ {browseMode: function(){ return this.data.ribbon_order.slice(-1)[0] == this.current_ribbon && 'disabled' }}, 'mergeRibbon: "down" ...'], + // XXX should this accept a list of ribbons to flatten??? flattenRibbons: ['Edit|Ribbon/Flatten', {browseMode: function(){ return this.data.ribbon_order.length <= 1 && 'disabled' }}, @@ -1049,9 +1063,9 @@ actions.Actions({ base = base && base in ribbons ? base : this.current_ribbon - var images = this.data.getImages('loaded') + // update the data... this.data.ribbons = { [base]: images, } diff --git a/ui (gen4)/features/ui-partial-ribbons-precache.js b/ui (gen4)/features/ui-partial-ribbons-precache.js index cd4890e2..eea5fcad 100755 --- a/ui (gen4)/features/ui-partial-ribbons-precache.js +++ b/ui (gen4)/features/ui-partial-ribbons-precache.js @@ -28,6 +28,7 @@ var PreCacheActions = actions.Actions({ // NOTE: this will not work from chrome when loading from a local fs... // XXX experimental... startCacheWorker: ['Interface/', + {browseMode: 'toggleBrowseActionKeys'}, function(){ // a worker is started already... if(this.cacheWorker != null){ @@ -62,6 +63,7 @@ var PreCacheActions = actions.Actions({ this.cacheWorker.url = url }], stopCacheWorker: ['Interface/', + {browseMode: 'toggleBrowseActionKeys'}, function(){ if(this.cacheWorker){ this.cacheWorker.terminate() diff --git a/ui (gen4)/features/ui-status.js b/ui (gen4)/features/ui-status.js index 954b57c7..1dd1e267 100755 --- a/ui (gen4)/features/ui-status.js +++ b/ui (gen4)/features/ui-status.js @@ -852,10 +852,12 @@ var StatusLogActions = actions.Actions({ // XXX should this be here or in a separate feature??? statusLog: ['Interface/Show status log', + {browseMode: 'toggleBrowseActionKeys'}, function(){ // XXX use list }], clearStatusLog: ['Interface/Clear status log', + {browseMode: 'toggleBrowseActionKeys'}, function(){ delete this.__status_log }], diff --git a/ui (gen4)/features/ui-widgets.js b/ui (gen4)/features/ui-widgets.js index 12890bb6..59704e2d 100755 --- a/ui (gen4)/features/ui-widgets.js +++ b/ui (gen4)/features/ui-widgets.js @@ -878,6 +878,7 @@ var DialogsActions = actions.Actions({ listDialogs: ['Interface|System/Dialog/Dialog list...', + {browseMode: 'toggleBrowseActionKeys'}, makeUIDialog(function(){ var actions = this @@ -904,6 +905,7 @@ var DialogsActions = actions.Actions({ })], toggleOverlayBlur: ['Interface/Dialog overlay blur', + {browseMode: 'toggleBrowseActionKeys'}, toggler.CSSClassToggler( function(){ return this.dom }, 'overlay-blur-enabled', @@ -2248,6 +2250,7 @@ var BrowseActionsActions = actions.Actions({ // ... '-40:Interface', + 'Interface/90:Theme', '-50:$Workspace', '-60:System', '-70:$Help', @@ -2515,7 +2518,8 @@ var BrowseActionsActions = actions.Actions({ // XXX can this also do a flat mode??? // ...this would help with the (global) search -- switch to // flat if searching in root mode... - browseActions: ['Interface|System/Dialog/Actions...', + browseActions: ['Interface/Dialog/Actions...', + {browseMode: 'toggleBrowseActionKeys'}, core.doc`Browse actions dialog... This uses action definition to build and present an action tree. @@ -2910,7 +2914,14 @@ var BrowseActionsActions = actions.Actions({ this.menu(showDoc.bind(this)) }) })], + toggleBrowseAdvanced: ['Interface/-99: Advanced menu items', + core.makeConfigToggler( + 'browse-advanced-mode', + ['off', 'on'])], + toggleBrowseActionKeys: ['Interface/Show keys in menu', + {browseMode: function(){ + return this.config['browse-advanced-mode'] == 'off' && 'hidden' }}, core.makeConfigToggler( 'browse-actions-keys', ['on', 'off'], @@ -2955,6 +2966,7 @@ module.ContextActionMenu = core.ImageGridFeatures.Feature({ actions: actions.Actions({ showContextMenu: ['Interface/Show context menu...', + {browseMode: 'toggleBrowseActionKeys'}, uiDialog(function(){ return this.current ? this.browseActions('/Image/') @@ -3097,12 +3109,15 @@ var ButtonsActions = actions.Actions({ }, toggleMainButtons: ['Interface/Main buttons', + {browseMode: 'toggleBrowseActionKeys'}, makeButtonControlsToggler('main-buttons')], toggleSecondaryButtons: ['Interface/Secondary buttons', + {browseMode: 'toggleBrowseActionKeys'}, makeButtonControlsToggler('secondary-buttons')], toggleAppButtons: ['Interface/App buttons', + {browseMode: 'toggleBrowseActionKeys'}, makeButtonControlsToggler('app-buttons')], - toggleSideButtons: ['Interface/99: Touch buttons', + toggleSideButtons: ['Interface/70: Touch buttons', (function(){ var left = makeButtonControlsToggler('side-buttons-left') var right = makeButtonControlsToggler('side-buttons-right') @@ -3115,7 +3130,8 @@ var ButtonsActions = actions.Actions({ }) })()], - toggleButtonHighlightColor: ['Interface/Button highlight color', + toggleButtonHighlightColor: ['Interface/Theme/Button highlight color', + {browseMode: 'toggleBrowseActionKeys'}, core.makeConfigToggler( 'button-highlight-color', function(){ return this.config['button-highlight-colors'] }, diff --git a/ui (gen4)/features/ui.js b/ui (gen4)/features/ui.js index 7b9ee7c6..3f0d9904 100755 --- a/ui (gen4)/features/ui.js +++ b/ui (gen4)/features/ui.js @@ -361,6 +361,7 @@ module.ViewerActions = actions.Actions({ .centerImage(target) .centerRibbon(target) }], alignRibbons: ['Interface/Align ribbons', + {browseMode: 'toggleBrowseActionKeys'}, function(target, scale, now){ if(target == 'now'){ now = true @@ -391,6 +392,7 @@ module.ViewerActions = actions.Actions({ // XXX skip off-screen ribbons (???) // XXX should the timeout be configurable??? alignByOrder: ['Interface/Align ribbons by image order', + {browseMode: 'toggleBrowseActionKeys'}, function(target, scale, now){ if(target == 'now'){ now = true @@ -455,6 +457,7 @@ module.ViewerActions = actions.Actions({ } }], alignByFirst: ['Interface/Align ribbons except current to first image', + {browseMode: 'toggleBrowseActionKeys'}, function(target){ target = target == 'now' ? null : target @@ -653,6 +656,7 @@ module.ViewerActions = actions.Actions({ // XXX make this play nice with crops... // ...should this be a crop??? toggleRibbonList: ['Interface|Ribbon/Ribbons as images view', + {browseMode: 'toggleBrowseActionKeys'}, function(){ if(this._full_data == null){ // XXX do a better name here... @@ -693,6 +697,7 @@ module.ViewerActions = actions.Actions({ function(angle){ }], toggleImageRendering: ['Interface/Image rendering', + {browseMode: 'toggleBrowseActionKeys'}, toggler.CSSClassToggler( function(){ return this.dom }, ['crisp-resize', 'default-resize'], @@ -931,6 +936,7 @@ module.Cursor = core.ImageGridFeatures.Feature({ actions: actions.Actions({ toggleHiddenCursor: ['Interface/Cursor hidden', + {browseMode: 'toggleBrowseActionKeys'}, toggler.CSSClassToggler( function(){ return this.dom }, 'cursor-hidden', @@ -1005,6 +1011,7 @@ module.Cursor = core.ImageGridFeatures.Feature({ // .config['cursor-show-threshold'] // toggleAutoHideCursor: ['Interface/Cursor auto-hide', + {browseMode: 'toggleBrowseActionKeys'}, toggler.CSSClassToggler( function(){ return this.dom }, 'cursor-autohide', @@ -1120,11 +1127,13 @@ module.Cursor = core.ImageGridFeatures.Feature({ })], toggleAutoHideCursorTimeout: ['Interface/Hide cursor on timeout', + {browseMode: 'toggleBrowseActionKeys'}, core.makeConfigToggler('cursor-autohide-on-timeout', ['on', 'off'], function(){ this.toggleAutoHideCursor('!') })], toggleAutoHideCursorKeyboard: ['Interface/Hide cursor on keyboard', + {browseMode: 'toggleBrowseActionKeys'}, core.makeConfigToggler('cursor-autohide-on-keyboard', ['on', 'off'], function(){ @@ -1215,6 +1224,7 @@ var ControlActions = actions.Actions({ from reaching the viewer. NOTE: this defines the focus/blur handlers on the window object.`, + {browseMode: 'toggleBrowseActionKeys'}, core.makeConfigToggler('lock-unfocused', ['off', 'on'], function(state){ @@ -1368,6 +1378,7 @@ var ControlActions = actions.Actions({ // XXX depends on .ribbons... // XXX uses: .focusImage(..) toggleImageClickHandling: ['Interface/Image click handling', + {browseMode: 'toggleBrowseActionKeys'}, toggler.Toggler(null, function(_, new_state){ return new_state ? @@ -1620,6 +1631,7 @@ var ControlActions = actions.Actions({ // XXX depends on .ribbons... // XXX uses: .focusImage(..) toggleRibbonPanHandling: ['Interface/Ribbon pan handling', + {browseMode: 'toggleBrowseActionKeys'}, toggler.Toggler(null, function(_, new_state){ return new_state ? @@ -1859,6 +1871,7 @@ var ControlActions = actions.Actions({ // XXX depends on .ribbons... // XXX uses: .focusImage(..) toggleMouseWheelHandling: ['Interface/Mouse wheel handling', + {browseMode: 'toggleBrowseActionKeys'}, toggler.Toggler(null, function(_, new_state){ return new_state ? @@ -1963,6 +1976,7 @@ var ControlActions = actions.Actions({ })], togglePinchHandling: ['Interface/Pinch zoom handling', + {browseMode: 'toggleBrowseActionKeys'}, function(){ // XXX }], @@ -1972,6 +1986,7 @@ var ControlActions = actions.Actions({ // ...allow ui features to control this... // XXX depends on .ribbons... toggleSwipeHandling: ['Interface/Swipe handling', + //{browseMode: 'toggleBrowseActionKeys'}, toggler.Toggler(null, function(_, state){ return state ? diff --git a/ui (gen4)/package-lock.json b/ui (gen4)/package-lock.json index 7b5a28b6..29285270 100755 --- a/ui (gen4)/package-lock.json +++ b/ui (gen4)/package-lock.json @@ -215,12 +215,6 @@ "delayed-stream": "~1.0.0" } }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "optional": true - }, "concat-map": { "version": "0.0.1", "resolved": false, @@ -472,488 +466,6 @@ } } }, - "flickrapi": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/flickrapi/-/flickrapi-0.3.36.tgz", - "integrity": "sha1-gxLvkbxZ6Q1hcKPSuhmWAEXLyMg=", - "optional": true, - "requires": { - "async": "~0.2.10", - "glob": "~3.2.6", - "open": "0.0.x", - "progress": "1.1.4", - "prompt": "0.2.x", - "request": "2.26.x" - }, - "dependencies": { - "asn1": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", - "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=", - "optional": true - }, - "assert-plus": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", - "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=", - "optional": true - }, - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" - }, - "aws-sign": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz", - "integrity": "sha1-PYHKabR0seFlGHKLUcJP8Lvtxuk=", - "optional": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "optional": true - }, - "boom": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz", - "integrity": "sha1-emNune1O/O+xnO9JR6PGffrukRs=", - "requires": { - "hoek": "0.9.x" - } - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "colors": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", - "optional": true - }, - "combined-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", - "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=", - "optional": true, - "requires": { - "delayed-stream": "0.0.5" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "optional": true - }, - "cookie-jar": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz", - "integrity": "sha1-vJon1OK5fhhs1XyeIGPLmfpozMw=", - "optional": true - }, - "cryptiles": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz", - "integrity": "sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=", - "optional": true, - "requires": { - "boom": "0.4.x" - } - }, - "ctype": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz", - "integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=", - "optional": true - }, - "cycle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", - "optional": true - }, - "delayed-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", - "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=", - "optional": true - }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", - "optional": true - }, - "forever-agent": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz", - "integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=", - "optional": true - }, - "form-data": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz", - "integrity": "sha1-kavXiKupcCsaq/qLwBAxoqyeOxI=", - "optional": true, - "requires": { - "async": "~0.9.0", - "combined-stream": "~0.0.4", - "mime": "~1.2.11" - }, - "dependencies": { - "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", - "optional": true - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "optional": true - }, - "glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", - "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", - "optional": true, - "requires": { - "inherits": "2", - "minimatch": "0.3" - } - }, - "hawk": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz", - "integrity": "sha1-uQuxaYByhUEdp//LjdJZhQLTtS0=", - "optional": true, - "requires": { - "boom": "0.4.x", - "cryptiles": "0.2.x", - "hoek": "0.9.x", - "sntp": "0.2.x" - } - }, - "hoek": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz", - "integrity": "sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=" - }, - "http-signature": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz", - "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=", - "optional": true, - "requires": { - "asn1": "0.1.11", - "assert-plus": "^0.1.5", - "ctype": "0.5.3" - } - }, - "i": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz", - "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=", - "optional": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "optional": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "optional": true - }, - "lru-cache": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", - "optional": true - }, - "mime": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", - "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=" - }, - "minimatch": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", - "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", - "optional": true, - "requires": { - "lru-cache": "2", - "sigmund": "~1.0.0" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "optional": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "optional": true - }, - "ncp": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", - "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=", - "optional": true - }, - "node-uuid": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", - "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", - "optional": true - }, - "oauth-sign": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz", - "integrity": "sha1-y1QPk7srIqfVlBaRoojWDo6pOG4=", - "optional": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "open": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz", - "integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=", - "optional": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "optional": true - }, - "pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=", - "optional": true - }, - "progress": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.4.tgz", - "integrity": "sha1-eJ9XaRuIuCakObxS3JYgJF1gJVs=", - "optional": true - }, - "prompt": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz", - "integrity": "sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w=", - "optional": true, - "requires": { - "pkginfo": "0.x.x", - "read": "1.0.x", - "revalidator": "0.1.x", - "utile": "0.2.x", - "winston": "0.8.x" - } - }, - "qs": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz", - "integrity": "sha1-bgFQmP9RlouKPIGQAdXyyJvEsQc=", - "optional": true - }, - "read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", - "optional": true, - "requires": { - "mute-stream": "~0.0.4" - } - }, - "request": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.26.0.tgz", - "integrity": "sha1-ebAwdcusLiLr5Bqn/KiE6GnBwhI=", - "optional": true, - "requires": { - "aws-sign": "~0.3.0", - "cookie-jar": "~0.3.0", - "forever-agent": "~0.5.0", - "form-data": "~0.1.0", - "hawk": "~1.0.0", - "http-signature": "~0.10.0", - "json-stringify-safe": "~5.0.0", - "mime": "~1.2.9", - "node-uuid": "~1.4.0", - "oauth-sign": "~0.3.0", - "qs": "~0.6.0", - "tunnel-agent": "~0.3.0" - } - }, - "revalidator": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", - "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=", - "optional": true - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "optional": true, - "requires": { - "glob": "^7.0.5" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "optional": true - }, - "sntp": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz", - "integrity": "sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=", - "optional": true, - "requires": { - "hoek": "0.9.x" - } - }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "optional": true - }, - "tunnel-agent": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz", - "integrity": "sha1-rWgbaPUyGtKCfEz7G31d8s/pQu4=", - "optional": true - }, - "utile": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", - "integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=", - "optional": true, - "requires": { - "async": "~0.2.9", - "deep-equal": "*", - "i": "0.3.x", - "mkdirp": "0.x.x", - "ncp": "0.4.x", - "rimraf": "2.x.x" - }, - "dependencies": { - "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==", - "optional": true - } - } - }, - "winston": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", - "integrity": "sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA=", - "optional": true, - "requires": { - "async": "0.2.x", - "colors": "0.6.x", - "cycle": "1.0.x", - "eyes": "0.1.x", - "isstream": "0.1.x", - "pkginfo": "0.3.x", - "stack-trace": "0.0.x" - }, - "dependencies": { - "pkginfo": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz", - "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=", - "optional": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - } - } - }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", diff --git a/ui (gen4)/package.json b/ui (gen4)/package.json index f89c49d2..2b3b8663 100755 --- a/ui (gen4)/package.json +++ b/ui (gen4)/package.json @@ -52,7 +52,9 @@ "react-dom": "^15.6.2" }, "devDependencies": { - "less": "^3.10.3" + "less": "^3.10.3", + "asar": "*", + "electron-rebuild": "*" }, "bin": { "ig": "ig.js"