角型グローバル確認ボックス
2022-02-18 16:08:45
グローバル確認ボックスは、ポップアップモーダルボックスを改良したものです。
設定方法
テンプレート
angular.module('custom-template', [])
.run(["$templateCache", function($templateCache) {
$templateCache.put("template/modal/confirmModelTemplate.html",
'<div class="m-c">\n'+
' <div class="modal-header">\n'+
' <h4 class="modal-title">{
{title}}</h4>\n'+
' </div>\n'+
' <div class="modal-body">{
{content}}</div>\n'+
' <div class="modal-footer" style="text-align: center;">\n'+
' <button type="button" class="btn btn-primary" ng-click="ok()">ok</button>\n'+
' <button type="button" class="btn btn-warning" ng-click="cancel()">cancel</button>\n'+
' </div>\n'+
' </div>\n'+
"");
}]);
定義されたテンプレート・モジュールは、システム内で次のように参照されます。
var app = angular.module('myApp', ['custom-template']);
呼び出し方法
カスタムコモンファクトリーで確認ボックスを開くためのメソッドを定義します。
angular.module('myApp').factory('Common', ['$http', '$q', '$cookieStore', '$location','$modal',
function ($http, $q, $cookieStore, $location,$modal) {
return {
openConfirmWindow: function(modalTitle,modalContent,modalInstance) {
var deferred = $q.defer();
/*
* modalInstance is the $modalInstance passed in from the first popup when the confirm confirmation box pops up on top of the popup,
* If the confirmation box pops up directly on the page, you can't pass $modalInstance, otherwise it will report an error
*/
var confirmModal = $modal.open({
backdrop: 'static',
templateUrl : 'template/modal/confirmModelTemplate.html', // point to the confirm box template
controller : 'ConfirmCtrl',// initialize the modal controller
windowClass: "confirmModal",// Customize the class of the modal's parent div
size : 'sm', // size configuration
resolve : {
data : function(){
return {modalTitle: modalTitle,modalContent: modalContent};//surgeonSug: $scope.surgeonSug,
}
}
});
// Process the data returned after the modal is closed
confirmModal.result.then(function() {
if(! !modalInstance) {
modalInstance.dismiss('cancel');
}
deferred.resolve();
},function(){
});
return deferred.promise;
}
}
}]);
カスタムCSS
.confirmModal .modal-sm {
width: 400px;
}
.confirmModal .modal-content {
margin-top: 40%;
}
.confirmModal .modal-header {
padding: 10px 15px;
}
.confirmModal .modal-body {
padding: 10px 15px;
border-top: 1px solid #e5e5e5;
}
使用方法
このページで使用されている具体的な方法は以下の通りです。
$scope.delete = function(id) {
var modalTitle = 'Tip! ;
var modalContent = 'Sure you want to delete?' ;
Common.openConfirmWindow(modalTitle,modalContent).then(function() {
$http.delete(url+id)
.success(function() {
$scope.load($scope.currSelSurgeon);
$rootScope.lxAlert['success']('Deleted successfully!') ;
}).error(function() {
$rootScope.lxAlert['danger']('Deletion failed!') ;
});
});
};
ポップアップモーダルボックスで使用される特定のメソッド。
$scope.cancel = function(){
var modalTitle = 'Sure to close?' ;
var modalContent = 'The information filled in was not saved, please confirm to close?' ;
Common.openConfirmWindow(modalTitle,modalContent,$modalInstance);
};
最初の使用では、3 番目のパラメータとして modalInstance を渡してはいけません、さもなければ、エラーが報告されます。2つ目は、ポップアップ確認ボックスの上にあるモーダルボックスを閉じるために $modalInstance を渡す必要があります。これで、グローバル確認ボックス全体の使用は完了です。
間違っているところがあれば、訂正してください
関連
-
[解決済み】Angularjsのng-viewが動作しない。
-
[解決済み】Angular ui-routerで$stateメソッドを$stateChangeStart toStateとfromStateで使用する。
-
[解決済み] 適用がすでに進行中のエラー
-
[解決済み] Angularのui-routerでデフォルトの状態を設定する方法
-
[解決済み] angularjsでチャートを作成する【終了】。
-
[解決済み] AngularJSで画像を表示する
-
[解決済み] AngularJS 。scope.apply()呼び出し時の$digest already in progressエラーを防ぐ。
-
処理されない例外が発生しました。Angular 実行中のプロジェクトで NGCC に失敗しました。
-
angularjs が src で指定されたコンテンツを iframe 内で正しく表示しない
-
AngularJSのベストプラクティス。ng-repeatの$indexに注意する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】npm UNMET PEER DEPENDENCYの警告を修正するにはどうすればいいですか?
-
[解決済み】Angularjs accordion ng-click on panel-header
-
[解決済み] AngularJSで$httpリクエスト中にスピナーGIFを表示する?
-
[解決済み] angularJSのSTATEを理解する
-
[解決済み] オブジェクトと選択機能を備えたAngularJS BootstrapUI Typeahead
-
[解決済み] Angular JS $locationChangeStart 次の url ルートオブジェクトを取得する
-
[解決済み] Angular 1.2+ で ng-bind-html-unsafe を複製するために $sce.trustAsHtml(string) を使用するにはどうしたらよいですか?
-
[解決済み] AngularJS の ng-disabled ディレクティブに式を指定しても動作しない
-
[解決済み] AngularJS : ローカルストレージを使用する
-
[解決済み] 新しい/分離されたスコープを求める複数のディレクティブ [ngController, ...] がある。