<form id="releaseModal" class="modal fade form-horizontal" name="releaseForm" valdr-type="Release" ng-submit="release()"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header panel-primary"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" ng-show="!toReleaseNamespace.isBranch">发布 <small>(只有发布过的配置才会被客户端获取到,此次发布只会作用于当前环境:{{env}})</small> </h4> <h4 class="modal-title" ng-show="toReleaseNamespace.isBranch && !toReleaseNamespace.mergeAndPublish"> 灰度发布 <small>(灰度发布的配置只会作用于在灰度规则中配置的实例)</small> </h4> <h4 class="modal-title" ng-show="toReleaseNamespace.isBranch && toReleaseNamespace.mergeAndPublish"> 全量发布 <small>(全量发布的配置会作用于全部的实例)</small> </h4> </div> <div class="release modal-body"> <div class="form-group"> <div class="col-sm-2 control-label" ng-if="!toReleaseNamespace.isPropertiesFormat"> <div class="row"> <div class="btn-group btn-group-xs" style="padding-right: 10px" role="group"> <button type="button" class="btn btn-default" ng-class="{active:releaseChangeViewType=='change'}" ng-click="switchReleaseChangeViewType('change')">查看变更 </button> <button type="button" class="btn btn-default" ng-class="{active:releaseChangeViewType=='release'}" ng-click="switchReleaseChangeViewType('release')">发布的值 </button> </div> </div> </div> <label class="col-sm-2 control-label" ng-if="toReleaseNamespace.isPropertiesFormat">Changes</label> <div class="col-sm-10" ng-if="(!toReleaseNamespace.isBranch && toReleaseNamespace.itemModifiedCnt) || (toReleaseNamespace.isBranch && toReleaseNamespace.itemModifiedCnt) || (toReleaseNamespace.isBranch && toReleaseNamespace.mergeAndPublish && toReleaseNamespace.branchItems.length)" valdr-form-group> <!--properties format--> <!--normal release--> <table class="table table-bordered table-striped text-center table-hover" ng-if="toReleaseNamespace.isPropertiesFormat && !toReleaseNamespace.isBranch"> <thead> <tr> <th> Key </th> <th> 发布的值 </th> <th> 未发布的值 </th> <th> 修改人 </th> <th> 修改时间 </th> </tr> </thead> <tbody> <tr ng-repeat="config in toReleaseNamespace.items" ng-if="config.item.key && config.isModified"> <td width="20%" title="{{config.item.key}}"> <span ng-bind="config.item.key"></span> <span class="label label-success" ng-if="config.isModified && !config.oldValue" data-tooltip="tooltip" data-placement="bottom" title="新增的配置">新</span> <span class="label label-info" ng-if="config.isModified && config.oldValue && !config.isDeleted" data-tooltip="tooltip" data-placement="bottom" title="修改的配置">改</span> <span class="label label-danger" ng-if="config.isDeleted" data-tooltip="tooltip" data-placement="bottom" title="删除的配置">删</span> </td> <td width="25%" title="{{config.oldValue}}"> <span ng-bind="config.oldValue"></span> </td> <td width="25%" title="{{config.newValue}}"> <span ng-bind="config.newValue"></span> </td> <td width="15%" ng-bind="config.item.dataChangeLastModifiedBy"> </td> <td width="15%" ng-bind="config.item.dataChangeLastModifiedTime | date: 'yyyy-MM-dd HH:mm:ss'"> </td> </tr> </tbody> </table> <!--branch gray release--> <table class="table table-bordered table-striped text-center table-hover" ng-if="toReleaseNamespace.isPropertiesFormat && toReleaseNamespace.isBranch && !toReleaseNamespace.mergeAndPublish"> <thead> <tr> <th> Key </th> <th> 主版本值 </th> <th> 灰度版本发布的值 </th> <th> 灰度版本未发布的值 </th> <th> 修改人 </th> <th> 修改时间 </th> </tr> </thead> <tbody> <tr ng-repeat="config in toReleaseNamespace.branchItems" ng-if="config.isModified || config.isDeleted"> <td width="15%" title="{{config.item.key}}"> <span ng-bind="config.item.key"></span> <span class="label label-danger" ng-show="config.isDeleted">删</span> </td> <td width="20%" title="{{config.masterReleaseValue}}"> <span ng-bind="config.masterReleaseValue"></span> </td> <td width="20%" title="{{config.oldValue}}"> <span ng-bind="config.oldValue"></span> </td> <td width="20%" title="{{config.newValue}}"> <span ng-bind="config.newValue"></span> </td> <td width="10%" ng-bind="config.item.dataChangeLastModifiedBy"> </td> <td width="15%" ng-bind="config.item.dataChangeLastModifiedTime | date: 'yyyy-MM-dd HH:mm:ss'"> </td> </tr> </tbody> </table> <!--branch updateAndPublish and publish--> <table class="table table-bordered table-striped text-center table-hover" ng-if="toReleaseNamespace.isPropertiesFormat && toReleaseNamespace.isBranch && toReleaseNamespace.mergeAndPublish"> <thead> <tr> <th> Key </th> <th ng-if="toReleaseNamespace.isBranch"> 主版本值 </th> <th ng-if="toReleaseNamespace.isBranch && toReleaseNamespace.mergeAndPublish"> 灰度版本的值 </th> <th ng-if="!toReleaseNamespace.isBranch || !toReleaseNamespace.mergeAndPublish"> 发布的值 </th> <th ng-if="!toReleaseNamespace.isBranch || !toReleaseNamespace.mergeAndPublish"> 未发布的值 </th> <th> 修改人 </th> <th> 修改时间 </th> </tr> </thead> <tbody> <tr ng-repeat="config in toReleaseNamespace.branchItems" ng-if="!config.isDeleted"> <td width="20%" title="{{config.item.key}}"> <span ng-bind="config.item.key"></span> </td> <td width="25%" title="{{config.masterReleaseValue}}"> <span ng-bind="config.masterReleaseValue"></span> </td> <td width="25%" title="{{config.item.value}}"> <span ng-bind="config.item.value"></span> </td> <td width="15%" ng-bind="config.item.dataChangeLastModifiedBy"> </td> <td width="15%" ng-bind="config.item.dataChangeLastModifiedTime | date: 'yyyy-MM-dd HH:mm:ss'"> </td> </tr> </tbody> </table> <!--file format --> <div ng-repeat="item in toReleaseNamespace.items" ng-if="!toReleaseNamespace.isPropertiesFormat" ng-show="releaseChangeViewType=='change'"> <apollodiff old-str="item.oldValue" new-str="item.newValue" apollo-id="'releaseStrDiff'"></apollodiff> </div> <div ng-repeat="item in toReleaseNamespace.items" ng-if="!toReleaseNamespace.isPropertiesFormat" ng-show="releaseChangeViewType=='release'"> <textarea class="form-control no-radius" rows="20" ng-disabled="true" ng-show="item.newValue" ng-bind="item.newValue"> </textarea> </div> </div> <div class="col-sm-5" ng-show="(!toReleaseNamespace.isBranch && !toReleaseNamespace.itemModifiedCnt)" valdr-form-group> <label class="form-control-static"> 配置没有变化 </label> </div> <div class="col-sm-5" ng-show="(toReleaseNamespace.isBranch && !toReleaseNamespace.mergeAndPublish && !toReleaseNamespace.itemModifiedCnt)" valdr-form-group> <label class="form-control-static"> 灰度配置没有变化 </label> </div> <div class="col-sm-5" ng-show="(toReleaseNamespace.isBranch && toReleaseNamespace.mergeAndPublish && toReleaseNamespace.branchItems.length == 0)" valdr-form-group> <label class="form-control-static"> 没有灰度的配置项 </label> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label"> <apollorequiredfield></apollorequiredfield> Release Name</label> <div class="col-sm-5" valdr-form-group> <input type="text" name="releaseName" class="form-control" placeholder="input release name" ng-model="toReleaseNamespace.releaseTitle" ng-required="true"> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">Comment</label> <div class="col-sm-10" valdr-form-group> <textarea rows="4" name="comment" class="form-control" style="margin-top: 15px;" ng-model="releaseComment" placeholder="Add an optional extended description..."></textarea> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">取消</button> <button type="submit" class="btn btn-primary" ng-disabled="releaseForm.$invalid || releaseBtnDisabled || (toReleaseNamespace.isBranch && toReleaseNamespace.mergeAndPublish && toReleaseNamespace.branchItems.length == 0)"> 发布 </button> </div> </div> </div> </form>