@@ -88,18 +88,109 @@ global.p3x.onenote.ng.factory('p3xOnenotePrompt', ($mdDialog) => {
88
88
</md-dialog-content>
89
89
90
90
<md-dialog-actions>
91
+ <md-button ng-click="cancel()" class="md-primary">
92
+ ${ p3x . onenote . lang . button . cancel }
93
+ </md-button>
91
94
<md-button ng-click="exit('external')" class="md-primary">
92
95
${ p3x . onenote . lang . dialog . redirect . urlExternal }
93
96
</md-button>
94
97
<md-button ng-click="exit('internal')" class="md-primary">
95
98
${ p3x . onenote . lang . dialog . redirect . urlInternal }
96
99
</md-button>
100
+ </md-dialog-actions>
101
+ </md-dialog>` ,
102
+ controller : function ( $mdDialog , $scope ) {
103
+ $scope . exit = ( answer ) => {
104
+ $mdDialog . hide ( answer ) ;
105
+ }
106
+
107
+ $scope . cancel = $mdDialog . cancel
108
+ }
109
+ } ) ;
110
+
111
+ }
112
+
113
+ this . bookmarks = ( opts ) => {
114
+ let deleteButton = ''
115
+ if ( opts . edit === true ) {
116
+ deleteButton = `
117
+ <md-button ng-click="delete()" class="md-primary">
118
+ ${ p3x . onenote . lang . button . delete }
119
+ </md-button>
120
+ `
121
+ }
122
+ return $mdDialog . show ( {
123
+ template : `
124
+ <form novalidate name="urlForm" ng-submit="submit()">
125
+ <md-dialog style="min-width: 320px">
126
+
127
+ <md-dialog-content>
128
+ <md-content layout-padding>
129
+ <h3 flex>
130
+ ${ p3x . onenote . lang . bookmarks . add }
131
+ </h3>
132
+ <div>
133
+ <md-input-container class="md-block">
134
+ <label> ${ p3x . onenote . lang . bookmarks . form . title } </label>
135
+ <input required ng-model="model.title" name="title"/>
136
+
137
+ <div ng-messages="urlForm.title.$error">
138
+ <div ng-message="required">${ p3x . onenote . lang . validation . required } </div>
139
+ </div>
140
+ </md-input-container>
141
+ <md-input-container class="md-block">
142
+ <label> ${ p3x . onenote . lang . bookmarks . form . url } </label>
143
+ <input type="url" required ng-model="model.url" name="url"/>
144
+
145
+ <div ng-messages="urlForm.url.$error">
146
+ <div ng-message="required">${ p3x . onenote . lang . validation . required } </div>
147
+ <div ng-message="url">${ p3x . onenote . lang . validation . url } </div>
148
+ </div>
149
+ </md-input-container>
150
+ </div>
151
+ </md-content>
152
+ </md-dialog-content>
153
+
154
+ <md-dialog-actions>
97
155
<md-button ng-click="cancel()" class="md-primary">
98
156
${ p3x . onenote . lang . button . cancel }
99
157
</md-button>
158
+ ${ deleteButton }
159
+ <md-button type="submit" class="md-primary">
160
+ ${ p3x . onenote . lang . button . save }
161
+ </md-button>
100
162
</md-dialog-actions>
101
- </md-dialog>` ,
163
+ </md-dialog>
164
+ </form>
165
+ ` ,
102
166
controller : function ( $mdDialog , $scope ) {
167
+
168
+ $scope . model = {
169
+ title : undefined ,
170
+ url : undefined ,
171
+ }
172
+
173
+ if ( opts . model ) {
174
+ $scope . model = opts . model
175
+ }
176
+
177
+ $scope . submit = ( ) => {
178
+ if ( $scope . urlForm . $valid ) {
179
+ $mdDialog . hide ( {
180
+ opts : opts ,
181
+ model : $scope . model ,
182
+ } ) ;
183
+ }
184
+ }
185
+
186
+ $scope . delete = ( ) => {
187
+ $mdDialog . hide ( {
188
+ delete : true ,
189
+ opts : opts ,
190
+ model : $scope . model ,
191
+ } ) ;
192
+ }
193
+
103
194
$scope . exit = ( answer ) => {
104
195
$mdDialog . hide ( answer ) ;
105
196
}
0 commit comments