xref: /aosp_15_r20/external/ot-br-posix/src/web/web-service/frontend/join.dialog.html (revision 4a64e381480ef79f0532b2421e44e6ee336b8e0d)
1*4a64e381SAndroid Build Coastguard Worker<div role="dialog" aria-label="Eat me!" layout="column" layout-align="center center">
2*4a64e381SAndroid Build Coastguard Worker  <md-toolbar>
3*4a64e381SAndroid Build Coastguard Worker    <div class="md-toolbar-tools">
4*4a64e381SAndroid Build Coastguard Worker      <h2>Join Thread Network</h2>
5*4a64e381SAndroid Build Coastguard Worker    </div>
6*4a64e381SAndroid Build Coastguard Worker  </md-toolbar>
7*4a64e381SAndroid Build Coastguard Worker  <md-progress-linear md-mode="indeterminate" ng-show="isDisplay"></md-progress-linear>
8*4a64e381SAndroid Build Coastguard Worker  <div id="div_home" class="demo-charts mdl-color--white mdl-shadow--2dp mdl-cell mdl-cell--12-col mdl-grid">
9*4a64e381SAndroid Build Coastguard Worker    <form name="joinForm">
10*4a64e381SAndroid Build Coastguard Worker      <div class="demo-dialog-content md-dense" style="width: 500px; height: 310px">
11*4a64e381SAndroid Build Coastguard Worker        <h5>Are you sure you want to JOIN this Thread Network?</h5>
12*4a64e381SAndroid Build Coastguard Worker        <div layout="row">
13*4a64e381SAndroid Build Coastguard Worker          <md-input-container flex="80">
14*4a64e381SAndroid Build Coastguard Worker            <label>Credential Type</label>
15*4a64e381SAndroid Build Coastguard Worker            <md-select name="credentialType" ng-model="thread.credentialType" required>
16*4a64e381SAndroid Build Coastguard Worker              <md-option value="networkKeyType">Network Key</md-option>
17*4a64e381SAndroid Build Coastguard Worker              <md-option value="pskdType">PSKd</md-option>
18*4a64e381SAndroid Build Coastguard Worker            </md-select>
19*4a64e381SAndroid Build Coastguard Worker          </md-input-container>
20*4a64e381SAndroid Build Coastguard Worker        </div>
21*4a64e381SAndroid Build Coastguard Worker        <div layout="row">
22*4a64e381SAndroid Build Coastguard Worker          <md-input-container ng-show="thread.credentialType=='networkKeyType'" flex="80">
23*4a64e381SAndroid Build Coastguard Worker            <label>Network Key</label>
24*4a64e381SAndroid Build Coastguard Worker            <input required minlength="32" maxlength="32" ng-pattern="/^[0-9a-fA-F]{32}$/" name="networkKey" ng-model="thread.networkKey">
25*4a64e381SAndroid Build Coastguard Worker            <div ng-messages="joinForm.networkKey.$error">
26*4a64e381SAndroid Build Coastguard Worker              <div ng-message-exp="['required', 'minlength', 'maxlength', 'pattern']">
27*4a64e381SAndroid Build Coastguard Worker                Network Key must be hexadecimal digits and 32 characters long.
28*4a64e381SAndroid Build Coastguard Worker              </div>
29*4a64e381SAndroid Build Coastguard Worker            </div>
30*4a64e381SAndroid Build Coastguard Worker         </md-input-container>
31*4a64e381SAndroid Build Coastguard Worker        </div>
32*4a64e381SAndroid Build Coastguard Worker        <div layout="row">
33*4a64e381SAndroid Build Coastguard Worker          <md-input-container ng-show="thread.credentialType=='pskdType'" flex="80">
34*4a64e381SAndroid Build Coastguard Worker          <label>PSKd</label>
35*4a64e381SAndroid Build Coastguard Worker          <input required minlength="6" maxlength="32" ng-pattern="/^((?![IOQZ])[0-9A-Z]){6,32}$/" name="pskd" ng-model="thread.pskd">
36*4a64e381SAndroid Build Coastguard Worker            <div ng-messages="joinForm.pskd.$error">
37*4a64e381SAndroid Build Coastguard Worker              <div ng-message-exp="['required', 'minlength', 'maxlength', 'pattern']">
38*4a64e381SAndroid Build Coastguard Worker                PSKd must be 6 to 32 characters long and must contain uppercase alphanumeric characters only (excluding I, O, Q and Z).
39*4a64e381SAndroid Build Coastguard Worker              </div>
40*4a64e381SAndroid Build Coastguard Worker            </div>
41*4a64e381SAndroid Build Coastguard Worker          </md-input-container>
42*4a64e381SAndroid Build Coastguard Worker        </div>
43*4a64e381SAndroid Build Coastguard Worker         <div layout="row">
44*4a64e381SAndroid Build Coastguard Worker          <md-button ng-show="joinForm.pskd.$valid" class="mdl-button--raised" ng-click="qrcode()">
45*4a64e381SAndroid Build Coastguard Worker           Get Connect QR Code
46*4a64e381SAndroid Build Coastguard Worker          </md-button>
47*4a64e381SAndroid Build Coastguard Worker         </div>
48*4a64e381SAndroid Build Coastguard Worker         <br>
49*4a64e381SAndroid Build Coastguard Worker        <div layout="row">
50*4a64e381SAndroid Build Coastguard Worker          <md-input-container flex="80">
51*4a64e381SAndroid Build Coastguard Worker            <label>Prefix</label>
52*4a64e381SAndroid Build Coastguard Worker            <input required name="prefix" ng-model="thread.prefix" ng-pattern="/^(?!(::1?)(/\d*)?$)(?!([fF][eE]80:|[fF]{2}[0-9a-fA-F][0-9a-fA-F]:))(\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*)(/(1([01][0-9]|2[0-8]))|/([0-9][0-9]?))?$/">
53*4a64e381SAndroid Build Coastguard Worker            <div ng-messages="joinForm.prefix.$error">
54*4a64e381SAndroid Build Coastguard Worker              <div ng-message-exp="['required', 'pattern']">
55*4a64e381SAndroid Build Coastguard Worker                On-Mesh Prefix must match valid IPv6 prefix pattern.
56*4a64e381SAndroid Build Coastguard Worker              </div>
57*4a64e381SAndroid Build Coastguard Worker            </div>
58*4a64e381SAndroid Build Coastguard Worker          </md-input-container>
59*4a64e381SAndroid Build Coastguard Worker        </div>
60*4a64e381SAndroid Build Coastguard Worker
61*4a64e381SAndroid Build Coastguard Worker        <md-input-container class="md-block">
62*4a64e381SAndroid Build Coastguard Worker          <md-checkbox name="defaultRoute" ng-model="thread.defaultRoute" required>
63*4a64e381SAndroid Build Coastguard Worker              Default Route
64*4a64e381SAndroid Build Coastguard Worker          </md-checkbox>
65*4a64e381SAndroid Build Coastguard Worker        </md-input-container>
66*4a64e381SAndroid Build Coastguard Worker      </div>
67*4a64e381SAndroid Build Coastguard Worker    </form>
68*4a64e381SAndroid Build Coastguard Worker  </div>
69*4a64e381SAndroid Build Coastguard Worker
70*4a64e381SAndroid Build Coastguard Worker  <div layout="row" class="demo-dialog-button">
71*4a64e381SAndroid Build Coastguard Worker    <md-button md-autofocus flex class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored mdl-button show-modal" style="width: 90px; margin-right:30px; margin-bottom: 15px" ng-click="cancel()">
72*4a64e381SAndroid Build Coastguard Worker      Cancel
73*4a64e381SAndroid Build Coastguard Worker    </md-button>
74*4a64e381SAndroid Build Coastguard Worker    <!-- <span flex="40"></span> -->
75*4a64e381SAndroid Build Coastguard Worker    <md-button md-autofocus flex class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored mdl-button show-modal" style="width: 90px; margin-left:30px;  margin-bottom: 15px" ng-click="join(joinForm.networkKey.$valid && joinForm.prefix.$valid)">
76*4a64e381SAndroid Build Coastguard Worker      Join
77*4a64e381SAndroid Build Coastguard Worker    </md-button>
78*4a64e381SAndroid Build Coastguard Worker  </div>
79*4a64e381SAndroid Build Coastguard Worker</div>
80