* feat(device): Add 'Save to keyboard' button
Created a 'Progress Button' that have 2 state in progress or not.
Able to set different text for different state:
- baseText for normal state
- progressText for in progress state
close: #377
* fix 'Save to keyboard' button visibility in web version
* remove success notification when save to keyboard success
* feat(notifier): Turn off auto hide of the notifier
* feat(device): Show saved state of 'Save to keyboard button'
* style: Format import in app.component.ts
* feat(device): Auto hide 'Save to Keyboard' button
* fix(device): Fix saving animation
* fix(device): Fix saving animation
* fix(device): Fix tslint
* Issue 388 - Device node (first version before review) (#388)
* fix: style linting issues
* review: revert the same padding size of the level 1 components on the sidebar
* feat(uhk-icon): Create uhk-icon set and fix USB device icon visibility in electron
* style: Use semicolon in js files
* Issue 323 - Remove excess space above the UHK (#323)
* revert back specific width of keyboard slider to be able to visible in the electron app
* fix: showing the whole keyboard on big screen
* fix: satisfy very small screens (no overflow of other keyboard left side) and increase the place where keyboard can fit (tested near 2000px width)
* Revert "fix: satisfy very small screens (no overflow of other keyboard left side) and increase the place where keyboard can fit (tested near 2000px width)"
This reverts commit 376604d24a.
* refactor(usb): Rewrite jump-to-bootloder to node-hid
* refactor(usb): Rewrite the whole usb packages to HID-API
* refactor(usb): Deleted not valid usb command files
* refactor(usb): Deleted not supported usb commands
* Remove obsolete script.
* Remove obsolete script.
* Fix script.
* Fix script.
* No need to assign the silent property because it has been removed.
* This workaround may work on other platforms, but it certainly doesn't work on Linux. It makes some scripts not work, so I'm commenting it out.
* Fix bootloader VID and PID.
* Issue - 141 - Validate macro actions (#141)
* review: refactor validation logic based on each macro tab component emitted event
* review: mouse key macro invalid if any of the X, Y fields are empty
* review: apply review comments for shorthand if conditions and imports
The minification change the class name so constructor.name not give back the correct class name.
Introduced getName() method in KeyAction and MacroAction Abstract class
* add @angular/cli to the project
* increase nodejs version -> 8.2.1
* add lerna
* merge web and shared module
* move electron module into packages as uhk-agent
Electron agent functionality is not working
* delete symlinker
* convert private properties to public of component if used in html
* revert uhk-message.component
* fix component path
* fix the correct name of the uhk-message.component.scss
* building web and electron module
* delete uhk-renderer package
* handle device connect disconnect state
* add privilege detection
* fix set privilege functionality
* turn back download keymap functionality
* add bootstrap, select2 js and fix null pointer exception
* turn back upload data to keyboard
* fix send keymap
* fix test-serializer
* add missing package.json
* merging
* fix appveyor build
* fix linting
* turn back electron storage service
* commit the missing electron-datastorage-repository
* update node to 8.3.0 in .nvmrc and log node version in appveyor build
* set exact version number in appveyor build
* vertical align privilege and missing device components
* set back node version to 8 in appveyor
* move node-usb dependency from usb dir to root
maybe it is fix the appveyor build
* revert usb to root
* fix electron builder script
* fix electron builder script
* turn off electron devtools
* remove CTRL+U functionality
* fix CTRL+o
* fix lint error
* turnoff store freeze
* start process when got `Error: EPERM: operation not permitted` error
* move files from root usb dir -> packages/usb