You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

111 lines
4.0 KiB

  1. {% extends "admin/admin_base.html" %}
  2. {% load static %}
  3. {% block content-area %}
  4. <div class="card">
  5. <header class="card-header">
  6. <p class="card-header-title">
  7. Label editor
  8. </p>
  9. <a href="#" class="card-header-icon" aria-label="more options">
  10. <span class="icon">
  11. <i class="fas fa-angle-down" aria-hidden="true"></i>
  12. </span>
  13. </a>
  14. </header>
  15. <div class="card-content">
  16. <div class="has-text-right">
  17. <div class="field is-grouped is-grouped-multiline has-text-weight-bold pbrem075">
  18. <div class="control" v-for="label in labels">
  19. <div class="tags has-addons">
  20. <span class="tag is-medium" v-bind:style="{ color: label.text_color, 'background-color': label.background_color }">
  21. <button class="delete is-small tweaked-margin" @click="removeLabel(label)"></button>
  22. [[ label.text ]]
  23. </span>
  24. <span class="tag is-medium"><kbd>[[ label.shortcut | simpleShortcut ]]</kbd></span>
  25. </div>
  26. </div>
  27. </div>
  28. <div class="field is-horizontal bordered-row">
  29. <label class="label column is-3 mb0">Preview</label>
  30. <div class="control column is-6">
  31. <div class="tags has-addons has-text-weight-bold">
  32. <a class="tag is-medium" v-bind:style="{ color: textColor, backgroundColor: backgroundColor }">
  33. [[ labelText ]]
  34. </a>
  35. <span class="tag is-medium"><kbd>[[ combineKeys | simpleShortcut ]]</kbd></span>
  36. </div>
  37. </div>
  38. </div>
  39. <div class="field is-horizontal bordered-row">
  40. <div class="column is-3 mb0">
  41. <label class="label mb0">Label Name</label>
  42. <p class="is-small has-text-grey">required</p>
  43. </div>
  44. <div class="control column is-6">
  45. <input class="input" type="text" placeholder="Text input" v-model="labelText">
  46. </div>
  47. </div>
  48. <div class="field is-horizontal bordered-row">
  49. <div class="column is-3 mb0">
  50. <label class="label mb0">Shortcut Key</label>
  51. <p class="is-small has-text-grey">optional</p>
  52. </div>
  53. <div class="control column is-narrow">
  54. <div class="select">
  55. <select v-model="selectedKey">
  56. <option disabled value="">Please select one</option>
  57. {% for ch in 'abcdefghijklmnopqrstuvwxyz' %}
  58. <option>{{ ch }}</option>
  59. {% endfor %}
  60. </select>
  61. </div>
  62. </div>
  63. <div class="is-narrow">
  64. <input class="is-checkradio" type="checkbox" id="ctrl" value="ctrl" v-model="checkedKey">
  65. <label for="ctrl"><kbd>C: Ctrl</kbd></label>
  66. </div>
  67. <div class="is-narrow">
  68. <input class="is-checkradio" type="checkbox" id="shift" value="shift" v-model="checkedKey">
  69. <label for="shift"><kbd>S: Shift</kbd></label>
  70. </div>
  71. </div>
  72. <div class="field is-horizontal bordered-row">
  73. <div class="column is-3 mb0">
  74. <label class="label mb0">Background Color</label>
  75. <p class="is-small has-text-grey">optional</p>
  76. </div>
  77. <div class="control column is-6">
  78. <input class="input" type="color" v-model="backgroundColor">
  79. </div>
  80. </div>
  81. <div class="field is-horizontal bordered-row">
  82. <div class="column is-3 mb0">
  83. <label class="label mb0">Text Color</label>
  84. <p class="is-small has-text-grey">optional</p>
  85. </div>
  86. <div class="control column is-6">
  87. <input class="input" type="color" v-model="textColor">
  88. </div>
  89. </div>
  90. <div class="field is-grouped">
  91. <div class="control">
  92. <button class="button is-primary" @click="addLabel()">Add label</button>
  93. </div>
  94. <div class="control">
  95. <button class="button is-text" @click="reset()">Reset</button>
  96. </div>
  97. </div>
  98. </div>
  99. </div>
  100. </div>
  101. {% endblock %}
  102. {% block footer %}
  103. <script src="{% static 'bundle/label.js' %}"></script>
  104. {% endblock %}