Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

newEmailTemplate.vue 6.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <template>
  2. <main id="main" style="margin-top:200px; padding-bottom:50px">
  3. <div class="container">
  4. <div class="row">
  5. <div class="col">
  6. <div class="section-header">
  7. <h2>Edit Template</h2>
  8. </div>
  9. </div>
  10. </div>
  11. <div class="row">
  12. <div class="col">
  13. <float-label fixed label="USAGE">
  14. <select v-model="singleTemp.name" class="form-control uniSelect" name="" id="">
  15. <option value="WeekOfferMade-User">Timeshare Week Offer Made (User)</option>
  16. <option value="WeekOfferMade-Owner">Timeshare Week Offer Made (Admin)</option>
  17. <option value="WeekLoaded-Agent">Timeshare Week Listed (Agent)</option>
  18. <option value="WeekLoaded-Owner">Timeshare Week Listed (Owner)</option>
  19. <option value="ContactUs">Contact Us (Admin)</option>
  20. <option value="EnquireNow">Enquire Now (Admin)</option>
  21. </select>
  22. </float-label>
  23. </div>
  24. <div class="col">
  25. <float-label fixed label="SUBJECT">
  26. <input type="text" class="form-control uniInput" v-model="singleTemp.subject" />
  27. </float-label>
  28. </div>
  29. </div>
  30. <div class="row mt-5">
  31. <div class="col-md-12">
  32. <ul class="nav nav-tabs nav-justified" id="myTab" role="tablist">
  33. <li class="nav-item">
  34. <a
  35. class="nav-link active"
  36. id="html-tab"
  37. data-toggle="tab"
  38. href="#html"
  39. role="tab"
  40. aria-controls="html"
  41. aria-selected="false"
  42. ><h2>
  43. html
  44. </h2></a
  45. >
  46. </li>
  47. <li class="nav-item">
  48. <a
  49. class="nav-link"
  50. id="preview-tab"
  51. data-toggle="tab"
  52. href="#preview"
  53. role="tab"
  54. aria-controls="preview"
  55. aria-selected="true"
  56. ><h2>
  57. Preview
  58. </h2></a
  59. >
  60. </li>
  61. </ul>
  62. <div class="tab-content" id="myTabContent">
  63. <div class="row mt-5">
  64. <div class="col-md-10 mt-3">
  65. <float-label fixed label="DYNAMIC FIELD">
  66. <select v-model="selectedProperty" class="form-control uniSelect" name="" id="">
  67. <optgroup label="Resort Fields">
  68. <option value="[RESORTNAME]">Resort Name</option>
  69. <option value="[UNITNUMBER]">Unit Number</option>
  70. <option value="[MODULE]">Module</option>
  71. <option value="[RESORTPRICE]">Resort Price</option>
  72. <option value="[RESORTSEASON]">Resort Season</option>
  73. <option value="[RESORTLEVY]">Resort Levy</option>
  74. <option value="[OFFERMADE]">Offer Made</option>
  75. <option value="[OWNER]">OWNER</option>
  76. </optgroup>
  77. <optgroup label="Property Fields">
  78. <option value="[PROPERTYREF]">Property Ref</option>
  79. <option value="[PROPERTYNAME]">Property Name</option>
  80. <option value="[PROPERTYPRICE]">Property Price</option>
  81. <option value="[PROPERTYID]">Property ID</option>
  82. </optgroup>
  83. <optgroup label="User Fields">
  84. <option value="[FULLNAME]">Fullname</option>
  85. <option value="[USEREMAIL]">User Email</option>
  86. <option value="[USERCELLPHONE]">User Cellphone Number</option>
  87. <option value="[USERTELEPHONE]">User Telephone Number</option>
  88. <option value="[USERCOMMENT]">User Comment</option>
  89. <option value="[USERMESSAGE]">User Message</option>
  90. </optgroup>
  91. </select>
  92. </float-label>
  93. </div>
  94. <div class="col">
  95. <button class="btn-solid-blue" @click="onItemAdd">INSERT</button>
  96. </div>
  97. </div>
  98. <div
  99. class="tab-pane fade show active mt-4"
  100. style="background-color:rgba(255,255,255,0.75);padding:10px;"
  101. id="html"
  102. role="tabpanel"
  103. aria-labelledby="directions-tab"
  104. >
  105. <div class="text-left">
  106. <div class="input-group mb-3">
  107. <textarea
  108. id="bodyInput"
  109. class="form-control"
  110. type="text"
  111. rows="40"
  112. step="any"
  113. name="levy"
  114. v-model="singleTemp.body"
  115. />
  116. </div>
  117. </div>
  118. </div>
  119. <div
  120. class="tab-pane fade mt-4"
  121. id="preview"
  122. role="tabpanel"
  123. aria-labelledby="resort-layout-tab"
  124. >
  125. <div class="no-style" v-html="singleTemp.body"></div>
  126. </div>
  127. </div>
  128. </div>
  129. </div>
  130. <div class="row mt-4">
  131. <div class="col">
  132. <button class="btn-solid-blue" @click="sendToApi()">SAVE</button>
  133. </div>
  134. <div class="col">
  135. <button class="btn-solid-blue" @click="$router.go(-1)">CANCEL</button>
  136. </div>
  137. </div>
  138. </div>
  139. </main>
  140. </template>
  141. <script>
  142. /* eslint-disable */
  143. import { mapActions, mapState } from "vuex";
  144. import alert from "../shared/alert";
  145. export default {
  146. data() {
  147. return {
  148. selectedProperty: "",
  149. singleTemp: {}
  150. };
  151. },
  152. components: {
  153. alert
  154. },
  155. methods: {
  156. ...mapActions("template", ["addItem"]),
  157. sendToApi() {
  158. this.addItem(this.singleTemp).then(() => {
  159. this.$router.go(-1);
  160. });
  161. },
  162. onItemAdd() {
  163. var placeHolder = this.selectedProperty;
  164. // will give the current postion of the cursor
  165. var curPos = document.getElementById("bodyInput").selectionStart;
  166. // will get the value of the text area
  167. let x = $("#bodyInput").val();
  168. // will get the value of the input box
  169. let text_to_insert = placeHolder;
  170. // setting the updated value in the text area
  171. $("#bodyInput").val(x.slice(0, curPos) + text_to_insert + x.slice(curPos));
  172. }
  173. }
  174. };
  175. </script>
  176. <style lang="scss" scoped></style>