101 lines
5.3 KiB
Plaintext
101 lines
5.3 KiB
Plaintext
<div class="skills-matrix-div" style="position:relative;" ng-cloak id="{{State.MatrixId}}">
|
|
<div class="form-inline">
|
|
<form class="form-horizontal" ng-if="!Settings.ReadOnly">
|
|
<div class="row padding-sm-hr">
|
|
<div class="col-md-6 col-lg-6">
|
|
<div class="form-group select2-primary no-margin-hr" style="width:100%">
|
|
<label class="control-label" style="padding-bottom:5px;">Skill Groups / Skills:</label>
|
|
<div class="row">
|
|
<div class="col-md-10">
|
|
<select multiple="multiple" name="select2FilterSkills" ng-model="Filter.Skills"
|
|
ng-options="skill.Value as skill.Text for skill in FilterOptions.Skills | filter:{ Visible : true }"></select>
|
|
</div>
|
|
<div class="col-md-2 no-padding-hr">
|
|
<a href="javascript:void(0);" ng-click="addSkillsToMatrix();" class="btn btn-success"><i class="fa fa-plus"></i></a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="padding-sm-vr">
|
|
<div class="form-group no-margin-hr padding-sm-hr">
|
|
<button class="btn btn-default" ng-disabled="!filterIsValid()" ng-click="rebuildViewModel(true);"><i class="fa fa-refresh"></i> Reload</button>
|
|
<button class="btn btn-success" type="button" ng-if="!Settings.ReadOnly && State.DataLoaded" ng-show="State.DataAvailable" ng-click="saveChanges()" ng-disabled="!State.DataChanged">
|
|
<i class="fa fa-save"></i> Save Matrix
|
|
</button>
|
|
<button class="btn btn-warning lockable" type="button" ng-if="!Settings.ReadOnly && State.DataLoaded" ng-show="State.DataAvailable" ng-click="cancelChanges()" ng-disabled="!State.DataChanged">Cancel Changes</button>
|
|
</div>
|
|
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div class="row padding-sm-vr" ng-if="State.DataLoaded" ng-show="State.DataAvailable">
|
|
<table class="skills-matrix-legend-table">
|
|
<tr>
|
|
<td class="value-cell skill-cell-level">
|
|
<div class="skill-cell-interested skill-cell-level" style="width:40px;"><i class="fa fa-info"></i></div>
|
|
</td>
|
|
<td class="label-cell">Interested in Learning/Developing Skill</td>
|
|
<td class="value-cell skill-cell-level0">0</td>
|
|
<td class="label-cell">Cannot Perform</td>
|
|
<td class="value-cell skill-cell-level1">1</td>
|
|
<td class="label-cell">Knows All Elements</td>
|
|
<td class="value-cell skill-cell-level2">2</td>
|
|
<td class="label-cell">Can Complete the Basics</td>
|
|
<td class="value-cell skill-cell-level3">3</td>
|
|
<td class="label-cell">Proficient</td>
|
|
<td class="value-cell skill-cell-level4">4</td>
|
|
<td class="label-cell">Exceptional</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="skills-matrix-no-data-message" ng-if="State.DataLoaded" ng-show="!State.DataAvailable">
|
|
No skills data available
|
|
</div>
|
|
<div class="table-light table-responsive very-big-table freezeTable skills-matrix" style="overflow-y:hidden;" ng-if="State.DataLoaded" ng-show="State.DataAvailable">
|
|
<table class="table table-striped table-bordered dataTable" style="border-right: 1px solid #dbdbdb; border-bottom: none;">
|
|
<thead>
|
|
<tr>
|
|
<th class="headcol firstcol left" rowspan="2">Resouces / Teams</th>
|
|
<th ng-repeat="skillGroup in View.Header.Groups track by $index" colspan="{{skillGroup.SkillsCount}}" nowrap>
|
|
{{skillGroup.Name}}
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<th class="headcol" style="visibility:hidden;"></th>
|
|
<th ng-repeat="skill in View.Header.Skills track by $index" nowrap>
|
|
{{skill.Name}}
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr ng-repeat="row in View.Rows track by $index" ng-init="rowIndex = $index" ng-class="(row.Type == 1) ? 'total-row' : ''">
|
|
<td class="headcol left team-row-title">
|
|
<div class="row-title" style="overflow-x:hidden; text-overflow:ellipsis;">{{row.Name}}</div>
|
|
</td>
|
|
@* Team row cells *@
|
|
<td ng-if="row.Type == 1" ng-attr-colspan="{{row.ColSpan}}" class="team-cell-value"> </td>
|
|
@* Resource row cells for editable mode *@
|
|
<td ng-if="!Settings.ReadOnly && (row.Type == 2)" ng-repeat="cell in row.Cells track by $index" ng-init="colIndex = $index" class="skill-cell-value" ng-click="textBtnForm.$show()"
|
|
ng-class="cell.CssClass" id="{{State.MatrixId}}_{{rowIndex}}_{{colIndex}}">
|
|
<div class="skill-cell-div">
|
|
<a href="javascript:void(0)" editable-text="cell.EditorValue" e-ng-blur="onTxtBlur(cell, this);" onshow="startEditCell(cell, rowIndex, colIndex, this)"
|
|
buttons="no" blur="submit" e-form="textBtnForm" onbeforesave="checkEditorValue($data, rowIndex, colIndex)" style="display:none;" e-skill-level-validation></a>
|
|
<div class="skill-cell-interested" ng-show="!textBtnForm.$visible"><i class="fa fa-info" ng-if="cell.Interested"></i></div>
|
|
<div class="skill-cell-num" ng-show="!textBtnForm.$visible">{{cell.Level}}</div>
|
|
</div>
|
|
</td>
|
|
@* Resource row cells for read-only mode *@
|
|
<td ng-if="Settings.ReadOnly && (row.Type == 2)" ng-repeat="cell in row.Cells track by $index" ng-init="colIndex = $index" class="skill-cell-value"
|
|
ng-class="cell.CssClass" id="{{State.MatrixId}}_{{rowIndex}}_{{colIndex}}">
|
|
<div class="skill-cell-div">
|
|
<div class="skill-cell-interested"><i class="fa fa-info" ng-if="cell.Interested"></i></div>
|
|
<div class="skill-cell-num">{{cell.Level}}</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|