diff --git a/docs/man1/phpdraft.1 b/docs/man1/phpdraft.1 index ca6d2135..523a73fc 100644 --- a/docs/man1/phpdraft.1 +++ b/docs/man1/phpdraft.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. -.TH PHPDRAFT: "1" "May 2020" "PHPDraft: 2.2-1-g5fc9180" "User Commands" +.TH PHPDRAFT: "1" "July 2020" "PHPDraft: 2.2.1-2-g0559910" "User Commands" .SH NAME -PHPDraft: \- manual page for PHPDraft: 2.2-1-g5fc9180 +PHPDraft: \- manual page for PHPDraft: 2.2.1-2-g0559910 .SH DESCRIPTION usage: phpdraft [] .PP diff --git a/src/PHPDraft/Model/Elements/ElementStructureElement.php b/src/PHPDraft/Model/Elements/ElementStructureElement.php index 6687308c..9015592c 100644 --- a/src/PHPDraft/Model/Elements/ElementStructureElement.php +++ b/src/PHPDraft/Model/Elements/ElementStructureElement.php @@ -54,6 +54,10 @@ public function __toString(): string public function string_value($flat = false) { + if ($flat === true) { + return $this->value; + } + return $this->__toString(); } diff --git a/src/PHPDraft/Model/HierarchyElement.php b/src/PHPDraft/Model/HierarchyElement.php index fbb0c357..082a49ca 100644 --- a/src/PHPDraft/Model/HierarchyElement.php +++ b/src/PHPDraft/Model/HierarchyElement.php @@ -85,8 +85,8 @@ public function parse(stdClass $object) */ public function get_href(): string { - $seperator = '-'; - $prep = ($this->parent !== null) ? $this->parent->get_href() . $seperator : ''; + $separator = '-'; + $prep = ($this->parent !== null) ? $this->parent->get_href() . $separator : ''; return $prep . str_replace(' ', '-', strtolower($this->title)); } diff --git a/src/PHPDraft/Model/Transition.php b/src/PHPDraft/Model/Transition.php index c9e42639..3b8011a7 100644 --- a/src/PHPDraft/Model/Transition.php +++ b/src/PHPDraft/Model/Transition.php @@ -177,8 +177,7 @@ public function build_url(string $base_url = '', bool $clean = false): string continue; } - $urlvalue = $item->string_value(); - $vars[$item->key->value] = $urlvalue; + $vars[$item->key->value] = $item->string_value(true); } } if ($this->parent->url_variables !== []) { @@ -187,8 +186,7 @@ public function build_url(string $base_url = '', bool $clean = false): string continue; } - $urlvalue = $item->string_value(); - $vars[$item->key->value] = $urlvalue; + $vars[$item->key->value] = $item->string_value(true); } } $url = $tpl->expand($vars); diff --git a/src/PHPDraft/Out/HTML/default.js b/src/PHPDraft/Out/HTML/default.js index 988f77d0..d5d54c4c 100644 --- a/src/PHPDraft/Out/HTML/default.js +++ b/src/PHPDraft/Out/HTML/default.js @@ -1,8 +1,26 @@ -$(function () { +function getParameters() { + let result = {}; + let tmp = []; + + if (location.search === '') { return result; } + + location.search + .substr(1) + .split("&") + .forEach(function (item) {tmp = item.split("="); result[tmp[0]] = decodeURIComponent(tmp[1]); }); + return result; +}; + +function trigger_popover() { $('[data-toggle="popover"]').popover({ html: true, sanitize: false, }); +} + +function escapeRegExp(str) { return str.replace(/[-\[\]/{}()*+?.\\^$|]/g, "\\$&"); }; + +$(function () { $('[data-toggle="tooltip"]').tooltip(); $('body').on('click', function (e) { $('[data-toggle="popover"]').each(function () { @@ -11,22 +29,38 @@ $(function () { } }); }); - var selectedhost = $('h1.media-heading select.form-control').val(); - $('h1.media-heading select.form-control').on('change', function () { - var html = $('body>div>div.row').html(); - var re = new RegExp(escapeRegExp(selectedhost), 'g'); - html = html.replace(re, $('h1.media-heading select.form-control').val()); - selectedhost = $('h1.media-heading select.form-control').val(); - $('body>div>div.row').html(html); - $('[data-toggle="popover"]').popover(); + let contentDom = $('body>div>div.row'); + + let formControlDom = $('h1.media-heading select.form-control'); + let selectedhost = formControlDom.val(); + formControlDom.on('change', function () { + let html = contentDom.html(); + let re = new RegExp(escapeRegExp(selectedhost), 'g'); + let new_html = html.replace(re, formControlDom.val()); + selectedhost = formControlDom.val(); + contentDom.html(new_html); + trigger_popover(); }); - function escapeRegExp(str) - { - return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); - }; $('table:not(.table)').each(function () { - $(this).addClass('table');}); + $(this).addClass('table'); + }); + + let parameters = getParameters(); + Object.keys(parameters).forEach(function(key) { + let html = contentDom.html(); + + const regex = `${key}: [a-zA-Z0-9\ \\\-\/]*`; + let list_re = new RegExp(regex, 'g'); + + const curl_regex = `-H '${key}: [a-zA-Z0-9\ \\\-\/]*'`; + let curl_re = new RegExp(curl_regex, 'g'); + + let new_html = html.replace(list_re, `${key}: ${parameters[key]}`) + .replace(curl_re, `-H '${key}: ${parameters[key]}'`); + contentDom.html(new_html); + }); + trigger_popover(); }); $('.collapse.request-card').on('shown.bs.collapse', function () { diff --git a/src/PHPDraft/Out/HTML/default.phtml b/src/PHPDraft/Out/HTML/default.phtml index 66f38ba8..1528b117 100644 --- a/src/PHPDraft/Out/HTML/default.phtml +++ b/src/PHPDraft/Out/HTML/default.phtml @@ -330,6 +330,6 @@ if ($extras !== []): - + \ No newline at end of file diff --git a/src/PHPDraft/Out/HTML/material.js b/src/PHPDraft/Out/HTML/material.js index 7c8629e0..bd2f329d 100644 --- a/src/PHPDraft/Out/HTML/material.js +++ b/src/PHPDraft/Out/HTML/material.js @@ -2,8 +2,41 @@ * Created by smillernl on 18-5-17. */ +function getParameters() { + let result = {}; + let tmp = []; + + if (location.search === '') { return result; } + + location.search + .substr(1) + .split("&") + .forEach(function (item) {tmp = item.split("="); result[tmp[0]] = decodeURIComponent(tmp[1]); }); + return result; +}; + anchors.options = { placement: 'left', visible: 'touch', }; -anchors.add('.main-content h1, .main-content h2, .main-content h3, .main-content .card-header a'); \ No newline at end of file +anchors.add('.main-content h1, .main-content h2, .main-content h3, .main-content .card-header a'); + +$(function () { + $('[data-toggle="tooltip"]').tooltip(); + let contentDom = $('body>div>div.row'); + + let parameters = getParameters(); + Object.keys(parameters).forEach(function(key) { + let html = contentDom.html(); + + const regex = `${key}: [a-zA-Z0-9\ \\\-\/]*`; + let list_re = new RegExp(regex, 'g'); + + const curl_regex = `-H '${key}: [a-zA-Z0-9\ \\\-\/]*'`; + let curl_re = new RegExp(curl_regex, 'g'); + + let new_html = html.replace(list_re, `${key}: ${parameters[key]}`) + .replace(curl_re, `-H '${key}: ${parameters[key]}'`); + contentDom.html(new_html); + }); +}); \ No newline at end of file diff --git a/tests/statics/drafter/html/basic.html b/tests/statics/drafter/html/basic.html index 9fc6a6c8..e6f14ea9 100644 --- a/tests/statics/drafter/html/basic.html +++ b/tests/statics/drafter/html/basic.html @@ -3127,11 +3127,11 @@
data-placement="left" data-toggle="popover" data-html="true" - data-content=""> + data-content="">
Example URI
- https://owner-api.teslamotors.com/api/1/vehicles/1/command/sun_roof_control?state=%3Ctr%3E%3Ctd%3Eopen%3C%2Ftd%3E%3Ctd%3E%3Ccode%3Eenum%3C%2Fcode%3E%3C%2Ftd%3E%3Ctd%3E%3C%2Ftd%3E%3C%2Ftr%3E&percent=50 + https://owner-api.teslamotors.com/api/1/vehicles/1/command/sun_roof_control?state=open&percent=50
Headers