Commit | Line | Data |
---|---|---|
92342261 | 1 | // Load rules on variant page |
1d184b4c BA |
2 | Vue.component('my-rules', { |
3 | data: function() { | |
4 | return { content: "" }; | |
5 | }, | |
6 | template: `<div v-html="content" class="section-content"></div>`, | |
7 | mounted: function() { | |
8 | // AJAX request to get rules content (plain text, HTML) | |
da06a6eb BA |
9 | ajax("/rules/" + variant, "GET", response => { |
10 | let replaceByDiag = (match, p1, p2) => { | |
11 | const args = self.parseFen(p2); | |
12 | return getDiagram(args); | |
13 | }; | |
14 | self.content = response.replace(/(fen:)([^:]*):/g, replaceByDiag); | |
15 | } | |
1d184b4c BA |
16 | }, |
17 | methods: { | |
da06a6eb BA |
18 | parseFen(fen) { |
19 | const fenParts = fen.split(" "); | |
20 | return { | |
21 | position: fenParts[0], | |
22 | marks: fenParts[1], | |
23 | orientation: fenParts[2], | |
24 | }; | |
1d184b4c BA |
25 | }, |
26 | }, | |
27 | }) |