From 17300127c7679712bb06b8699e8bbad4d6cd0a48 Mon Sep 17 00:00:00 2001 From: Pawel Siemienik Date: Wed, 25 Mar 2020 01:43:24 +0100 Subject: [PATCH] #6 #3 Test (and examples) for WsNameCell+HyperlinkCell #7 Update documentation --- README.md | 7 +++++-- .../data/Renderer003-WsName/expected.xlsx | Bin 0 -> 10251 bytes .../data/Renderer003-WsName/template.xlsx | Bin 0 -> 10420 bytes .../data/Renderer003-WsName/viewModel.json | 6 ++++++ .../data/Renderer004-Hyperlink/expected.xlsx | Bin 0 -> 9217 bytes .../data/Renderer004-Hyperlink/template.xlsx | Bin 0 -> 10065 bytes .../data/Renderer004-Hyperlink/viewModel.json | 11 +++++++++++ 7 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 tests/integration/data/Renderer003-WsName/expected.xlsx create mode 100644 tests/integration/data/Renderer003-WsName/template.xlsx create mode 100644 tests/integration/data/Renderer003-WsName/viewModel.json create mode 100644 tests/integration/data/Renderer004-Hyperlink/expected.xlsx create mode 100644 tests/integration/data/Renderer004-Hyperlink/template.xlsx create mode 100644 tests/integration/data/Renderer004-Hyperlink/viewModel.json diff --git a/README.md b/README.md index 7b6b2ed..ee07466 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,9 @@ const viewModel = new MyAwesomeReportVm(); //or something else })(); ``` +## More examples: + +for more example I invite to tests data: [click here and check `Renderer` folders](./tests/integration/data) # Documentation: @@ -43,11 +46,11 @@ const viewModel = new MyAwesomeReportVm(); //or something else | - | [BaseCell](./src/cell/BaseCell.ts) | n/o | n/o | All Cell\`s definition classes extend it. | **abstract** | | Content | [NormalCell](./src/cell/NormalCell.ts) | 1 | not started by `##` or `#!` | This one copy all styles, width, properties and value form template. | **default** | | Content | [VariableCell](./src/cell/VariableCell.ts) | 3 | `## pathToVariable ` | Write variable from `ViewModel`.
Paths to object's property or array item are allowed.
When asking about undefined variable it returns empty string. | **Paths examples:**
`simplePath`
`someObject.property`
`array.0.field`
`items.1.path.to.object.prop`| -| Content | **TODO: describe it!** [HyperlinkCell](./src/cell/HyperlinkCell.ts) | | | | | +| Content | [HyperlinkCell](./src/cell/HyperlinkCell.ts) | 5 | `#! HYPERLINK pathToLabel pathToTarget` | Create a hyperlink. | *Paths resolve exactly same as VariableCell* | | Content | **TODO: describe it!** [FormulaCell](./src/cell/FormulaCell.ts) | | | | | | Navigation | [EndRowCell](./src/cell/EndRowCell.ts) | 2 | `#! END_ROW` | Go to the beginning of next row | | | Worksheet
Navigation
Loop | [FinishCell](./src/cell/FinishCell.ts) | 7 | `#! FINISH conditionPath` | Finish rendering for current worksheet and:
1) go to next worksheet if `conditionPath===true`
2) repeat this template worksheet again (`conditionPath === false`) - looping through worksheets
3) finished whole rendering when this worksheet is the last one. | **Examples:**
`#! FINISHED ` or `#! FINISHED itemFromLoop.__iterated` | -| Worksheet | **TODO: describe it!** [WsNameCell](./src/cell/WsNameCell.ts) | | | | | +| Worksheet | [WsNameCell](./src/cell/WsNameCell.ts) | 13 | `#! WS_NAME pathToVariable` | Set worksheet's name. | **Examples:**
`#! WS_NAME worksheetName`
`#! WS_NAME item.title`
`#! WS_NAME translatedNames.0` | | View Model | **TODO: describe it!** [DeleteCell](./src/cell/DeleteCell.ts) | | | | | | Loop | **TODO: describe it!** [DumpColsCell](./src/cell/DumpColsCell.ts) | | | | | | Loop | **TODO: describe it!** [ForEachCell](./src/cell/ForEachCell.ts) | | | | | diff --git a/tests/integration/data/Renderer003-WsName/expected.xlsx b/tests/integration/data/Renderer003-WsName/expected.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..3bbaf5ec53a4043f625443409cec6c8e58936880 GIT binary patch literal 10251 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 WK?V-ug8%?3V_d4ASN{hMwO0WE literal 0 HcmV?d00001 diff --git a/tests/integration/data/Renderer004-Hyperlink/viewModel.json b/tests/integration/data/Renderer004-Hyperlink/viewModel.json new file mode 100644 index 0000000..381c3af --- /dev/null +++ b/tests/integration/data/Renderer004-Hyperlink/viewModel.json @@ -0,0 +1,11 @@ +{ + "name": "Paweł Siemienik", + "github": { + "label": "@siemienik", + "url": "https://github.com/siemienik" + }, + "linkedIn": { + "label": "CEO Paweł Siemienik", + "url": "https://www.linkedin.com/in/pawe%C5%82-siemienik-a6715175/" + } +} \ No newline at end of file