mirror of
https://github.com/getredash/redash.git
synced 2026-03-22 10:00:17 -04:00
* Update Cypress element selectors * Add seed data function to Cypress * Change Cypress setup to be part of db-seed * Add DatabaseSource selector to Create Data Source spec * Add getElement command to Cypress * Fix eslint issues * Change Cypress getElement to getByTestId * Add Percy and test it with the CI * Change Percy dependency for CI to Cypress' Dockerfile * Change Percy's execution to the docker container - add --no-save to avoid errors on Dockerfile.cypress - pass PERCY_TOKEN from the CI to docker container * Fix missed char on CircleCI config file * Move Percy execution back to host on the CI * Test adding PERCY_TOKEN to frontend-e2e-tests on CI config * Undo add PERCY_TOKEN to config.yml * Add Percy token and .git folder to Cypress * Remove Percy install from config.yml * Ignore .git folder again and use Percy env vars instead * Update PERCY_PULL_REQUEST to be CIRCLE_PR_NUMBER * Update cypress-server.js to handle other cypress commands - cypress-server.js -> cypress.js - new commands added to cypress.js - CircleCI config updated accordingly - added a Homepage screenshot * Remove trailing spaces * Add Create Query spec * Disable Cypress videos * Update run browser to Chrome * Add missing --browser chrome
42 lines
2.4 KiB
HTML
42 lines
2.4 KiB
HTML
<form name="dynamicForm">
|
|
<div class="form-group required" ng-class='{"has-error": (dynamicForm.targetName | showError)}'>
|
|
<label class="control-label" for="dataSourceName">Name</label>
|
|
<input type="string" class="form-control" name="targetName" ng-model="target.name"
|
|
data-test="TargetName" autofocus required>
|
|
<error-messages input="dynamicForm.targetName" form="dynamicForm"></error-messages>
|
|
</div>
|
|
<hr>
|
|
<div class="form-group" ng-class='{"has-error": (inner.input | showError), "required": field.property.required}' ng-form="inner" ng-repeat="field in fields">
|
|
<label ng-if="field.property.type !== 'checkbox'" class="control-label">{{field.property.title || field.name | toHuman}}</label>
|
|
<input name="input" type="{{field.property.type}}" class="form-control" ng-model="target.options[field.name]" ng-required="field.property.required"
|
|
ng-if="field.property.type !== 'file' && field.property.type !== 'checkbox'" accesskey="tab" placeholder="{{field.property.default}}"
|
|
data-test="{{field.property.title || field.name | toHuman}}">
|
|
|
|
<label ng-if="field.property.type=='checkbox'">
|
|
<input name="input" type="{{field.property.type}}" ng-model="target.options[field.name]" ng-required="field.property.required"
|
|
ng-if="field.property.type !== 'file'" accesskey="tab" placeholder="{{field.property.default}}"
|
|
data-test="{{field.property.title || field.name | toHuman}}">
|
|
{{field.property.title || field.name | toHuman}}
|
|
</label>
|
|
|
|
<input name="input" type="file" class="form-control" ng-model="files[field.name]" ng-required="field.property.required && !target.options[field.name]"
|
|
base-sixty-four-input
|
|
ng-if="field.property.type === 'file'">
|
|
|
|
<error-messages input="inner.input" form="inner"></error-messages>
|
|
</div>
|
|
|
|
<button class="btn btn-block btn-primary m-b-10" ng-disabled="!dynamicForm.$valid" ng-click="saveChanges()" data-test="Submit">Save</button>
|
|
<span ng-repeat="action in actions">
|
|
<button class="btn"
|
|
ng-class="action.class"
|
|
ng-if="target.id"
|
|
ng-disabled="(action.disableWhenDirty && dynamicForm.$dirty) || inProgressActions[action.name]"
|
|
ng-click="action.callback()" ng-bind-html="action.name"></button>
|
|
</span>
|
|
|
|
<span ng-transclude>
|
|
|
|
</span>
|
|
</form>
|