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