<!doctype html>
<html ng-app="namespace">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="icon" href="./img/config.png">
    <!-- styles -->
    <link rel="stylesheet" type="text/css" href="vendor/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="vendor/angular/angular-toastr-1.4.1.min.css">
    <link rel="stylesheet" type="text/css" href="vendor/select2/select2.min.css">
    <link rel="stylesheet" type="text/css" media='all' href="vendor/angular/loading-bar.min.css">
    <link rel="stylesheet" type="text/css" href="styles/common-style.css">
    <title>新建Namespace</title>
</head>

<body>

<apollonav></apollonav>

<div class="container-fluid apollo-container hidden" ng-controller="LinkNamespaceController">

    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel">
                <header class="panel-heading">
                    <div class="row">
                        <div class="col-md-6">新建Namespace</div>
                        <div class="col-md-6 text-right">
                            <button type="button" class="btn btn-info" ng-click="back()">返回到项目首页
                            </button>
                        </div>
                    </div>

                </header>

                <div class="panel-body">

                    <div class="alert alert-info no-radius">
                        <strong>Tips:</strong>
                        <ul ng-show="type == 'link'">
                            <li>公共namespace所属的应用通过关联公共namespace来配置公共部分的配置</li>
                            <li>其它应用可以通过关联公共namespace来覆盖公共部分的配置</li>
                            <li>如果其它应用不需要覆盖公共部分的配置,那么无需关联公共namespace</li>
                        </ul>
                        <ul ng-show="type == 'create'">
                            <li>
                                通过创建一个公共的namespace可以实现公共组件的配置,或多个应用共享同一份配置的需求
                            </li>
                            <li>创建完公共的namespace且关联到当前应用后,就可以配置公共部分的配置了</li>
                            <li>如果其它应用需要覆盖公共部分的配置,可以在其它应用那里关联公共的namespace,然后在关联的namespace里面配置需要覆盖的配置即可</li>
                            <li>如果其它应用不需要覆盖公共部分的配置,那么就不需要在其它应用那里关联公共的namespace</li>
                        </ul>
                    </div>
                    <div class="row text-right" style="padding-right: 20px;">
                        <div class="btn-group btn-group-sm" role="group" aria-label="...">
                            <button type="button" class="btn btn-default" ng-class="{active:type=='link'}"
                                    ng-click="switchType('link')">关联已存在的Namespace
                            </button>
                            <button type="button" class="btn btn-default" ng-class="{active:type=='create'}"
                                    ng-click="switchType('create')">创建新的Namespace
                            </button>
                        </div>
                    </div>


                    <form class="form-horizontal" name="namespaceForm" valdr-type="AppNamespace"
                          style="margin-top: 30px;" ng-show="step == 1" ng-submit="createNamespace()">
                        <div class="form-group">
                            <label class="col-sm-3 control-label">应用ID</label>
                            <div class="col-sm-6" valdr-form-group>
                                <label class="form-control-static" ng-bind="appId"></label>
                            </div>
                        </div>
                        <div class="form-horizontal" ng-show="type == 'link'">
                            <div class="form-group">
                                <label class="col-sm-3 control-label">
                                    <apollorequiredfield></apollorequiredfield>
                                    选择集群</label>
                                <div class="col-sm-6" valdr-form-group>
                                    <apolloclusterselector apollo-app-id="appId" apollo-default-all-checked="true"
                                                           apollo-select="collectSelectedClusters"></apolloclusterselector>
                                </div>
                            </div>
                        </div>
                        <div class="form-group" ng-show="type == 'create'">
                            <label class="col-sm-3 control-label">
                                <apollorequiredfield></apollorequiredfield>
                                名称</label>
                            <div class="col-sm-4" valdr-form-group>
                                <div ng-class="{'input-group':appNamespace.isPublic}">
                                    <span class="input-group-addon" ng-show="appNamespace.isPublic"
                                          ng-bind="appBaseInfo.namespacePrefix"></span>
                                    <input type="text" name="namespaceName" class="form-control"
                                           ng-model="appNamespace.name">
                                </div>
                            </div>
                            <div class="col-sm-2" ng-if="hasRootPermission">
                                <select class="form-control" name="format" ng-model="appNamespace.format">
                                    <option value="properties">properties</option>
                                    <option value="xml">xml</option>
                                    <option value="json">json</option>
                                    <option value="yml">yml</option>
                                    <option value="yaml">yaml</option>
                                </select>
                            </div>

                            <span ng-show="appNamespace.isPublic" ng-bind="concatNamespace()"
                                  style="line-height: 34px;"></span>
                        </div>
                        <div class="form-group" ng-show="type == 'create' && hasRootPermission">
                            <label class="col-sm-3 control-label">
                                <apollorequiredfield></apollorequiredfield>
                                类型</label>
                            <div class="col-sm-4" valdr-form-group>
                                <label class="radio-inline">
                                    <input type="radio" name="namespaceType" value="true" ng-value="true"
                                           ng-model="appNamespace.isPublic"> public
                                </label>
                                <label class="radio-inline">
                                    <input type="radio" name="namespaceType" value="false" ng-value="false"
                                           ng-model="appNamespace.isPublic"> private
                                </label>
                            </div>
                        </div>
                        <div class="form-group" ng-show="type == 'create'" valdr-form-group>
                            <label class="col-sm-3 control-label">备注</label>
                            <div class="col-sm-7" valdr-form-group>
                                <textarea class="form-control" rows="3" name="comment"
                                          ng-model="appNamespace.comment"></textarea>
                            </div>
                        </div>
                        <div class="form-group" ng-show="type == 'link'">
                            <label class="col-sm-3 control-label">
                                <apollorequiredfield></apollorequiredfield>
                                namespace</label>
                            <div class="col-sm-4" valdr-form-group>
                                <select id="namespaces">
                                    <option></option>
                                </select>
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-sm-offset-3 col-sm-10">
                                <button type="submit" class="btn btn-primary"
                                        ng-disabled="(type == 'create' && namespaceForm.$invalid) || submitBtnDisabled">
                                    提交
                                </button>
                            </div>
                        </div>
                    </form>

                    <div class="row text-center" ng-show="step == 2">
                        <img src="img/sync-succ.png" style="height: 100px; width: 100px">
                        <h3>创建成功!</h3>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>


<div ng-include="'views/common/footer.html'"></div>

<!--angular-->
<script src="vendor/angular/angular.min.js"></script>
<script src="vendor/angular/angular-resource.min.js"></script>
<script src="vendor/angular/angular-toastr-1.4.1.tpls.min.js"></script>
<script src="vendor/angular/loading-bar.min.js"></script>

<!-- jquery.js -->
<script src="vendor/jquery.min.js" type="text/javascript"></script>

<script src="vendor/select2/select2.min.js" type="text/javascript"></script>


<!-- bootstrap.js -->
<script src="vendor/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>

<script src="vendor/valdr/valdr.min.js" type="text/javascript"></script>
<script src="vendor/valdr/valdr-message.min.js" type="text/javascript"></script>

<script type="application/javascript" src="scripts/app.js"></script>
<script type="application/javascript" src="scripts/services/AppService.js"></script>
<script type="application/javascript" src="scripts/services/EnvService.js"></script>
<script type="application/javascript" src="scripts/services/UserService.js"></script>
<script type="application/javascript" src="scripts/services/NamespaceService.js"></script>
<script type="application/javascript" src="scripts/services/PermissionService.js"></script>
<script type="application/javascript" src="scripts/AppUtils.js"></script>

<!--directive-->
<script type="application/javascript" src="scripts/directive/directive.js"></script>

<script type="application/javascript" src="scripts/controller/NamespaceController.js"></script>

<script src="scripts/valdr.js" type="text/javascript"></script>

</body>
</html>