angularjsでショートカットキーを実現してくれるAngular Hotkeys
angularjsでショートカットキーを実現してくれるAngular Hotkeys。githubのショートカットキー諸々と"?"を押した時にでるアレ。
環境
- TypeScript 1.4
- AngularJS 1.4.1
- angular-hotkeys 1.4.5
Angular Hotkeys
モジュールを読み込んで、該当のスコープでキーを追加します。
angular.module("app", ["cfp.hotkeys"])
allowIn
は指定の要素でキーを有効にするかどうか。キーは既定ではINPUT要素で無効になっています。業務系でありがちなファンクションキーを指定する時にはallowIn
でINPUTを指定しました。
class MainController { constructor( $scope: ng.IScope, $http: ng.IHttpService, hotkeys: angular.hotkeys.HotkeysProvider) { hotkeys.bindTo($scope) .add( { combo: "s", allowIn: ["INPUT"], description: "API の呼び出し", callback: (event: Event) => { $http.get("api の url") .then( (response: ng.IHttpPromiseCallbackArg<{}>) => { alert(response.data); }); } }); } }
オプションでショートカットキーのチートシート("?"を押したときのヘルプ表示)のオンオフも。
angular.module("app", ["cfp.hotkeys"]) .config( ["hotkeysProvider", (hotkeysProvider: angular.hotkeys.HotkeysProvider) => { hotkeysProvider.includeCheatSheet = true; }])
オマケ
そのままだとせっかくのショートカットキーも隠し機能になっちゃったりするので、ディレクティブで画面表示できるようにして使ってました。
angular.module("app") .directive("appDisplayHotkey", ["hotkeys", "$timeout", (hotkeys: angular.hotkeys.HotkeysProvider, $timeout: ng.ITimeoutService) => { return { link: ( scope: ng.IScope, element: ng.IAugmentedJQuery, attributes: any, controller: any) => { var hotkey = hotkeys.get(attributes.appDisplayHotkey); if (!hotkey) { return; } element.text("[" + (<string>(<any>hotkey).format()[0]).toUpperCase() + "]: " + hotkey.description); element.on("click",(e: Event) => { // 画面遷移などを動作させるために UI スレッドで実行 $timeout(() => { hotkey.callback(e, hotkey); }); }); } }; }]);
<ul> <li class="btn btn-default" app-display-hotkey="a"></li> <li class="btn btn-default" app-display-hotkey="s"></li> </ul>
ソース
勉強会で紹介しました
angularjsで通信中に自動的に読み込みバー、くるくるを表示してくれるAngular Loading Bar
angularjsで通信中に自動的に読み込みバー、くるくるを表示してくれるAngular Loading Bar。youtubeで画面上を走る赤いバーのアレ。
環境
- TypeScript 1.4
- AngularJS 1.4.1
- angular-loading-bar 0.8.0
Angular Loading Bar
モジュールを読み込むだけで$http
に連動してバーを走らせてくれます。
angular.module("app", ["angular-loading-bar"])
オプションでくるくるのオンオフ、通信が十分に早い時にバーがうるさくならないようにレイテンシーの閾値設定も。
angular.module("app", ["angular-loading-bar"]) .config( ["cfpLoadingBarProvider", (cfpLoadingBarProvider: any) => { cfpLoadingBarProvider.includeSpinner = false; cfpLoadingBarProvider.latencyThreshold = 0; }])
ソース
勉強会で紹介しました
SIMフリー Windows Phone 「MADOSMA」 2015年6月18日発売
ついに来たね!なんかクラスタみんなが書きつくしてるし、最近の活動的に眺めてるだけだったけど、テンションあがったもんは仕方ない。予約したよ。
マウスコンピュータ SIMフリースマートフォン MADOSMA MADOSMAQ501WH
- 出版社/メーカー: マウスコンピュータ
- メディア: エレクトロニクス
- この商品を含むブログを見る
micro SIM
以前に買ったSIMを使う時が来た(白目katsuyuzu.hatenablog.jp
OCN モバイル ONE【SMS対応】マイクロSIM 月額1,020円(税抜)~
- 出版社/メーカー: NTTコミュニケーションズ
- 発売日: 2013/12/17
- メディア: エレクトロニクス
- この商品を含むブログ (7件) を見る
OCN モバイル ONE 音声通話+LTEデータ通信SIM 月額1,600円(税抜)~(マイクロ、ナノ、標準)
- 出版社/メーカー: NTTコミュニケーションズ
- 発売日: 2014/12/01
- メディア: エレクトロニクス
- この商品を含むブログ (3件) を見る
その他
そして以前の記事の通りfreetelさんの端末も買ってるのよ。ってことはもちろん出たら買うよね!楽しみ!
WPアーチの端末持ち寄り会はいつだろう。サイトみたらハゲ対策サイトになってた。アンテナ張って飛行機取らなきゃ!