@openmrs/ngx-formentry 3.0.1-pre.62 → 3.0.1-pre.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/openmrs-ngx-formentry.umd.js +281 -46
- package/bundles/openmrs-ngx-formentry.umd.js.map +1 -1
- package/components/radio-button/radio.component.d.ts +7 -8
- package/esm2015/components/radio-button/radio.component.js +13 -39
- package/esm2015/form-entry/form-factory/question.factory.js +6 -3
- package/esm2015/form-entry/form-renderer/form-renderer.component.js +2 -2
- package/esm2015/form-entry/helpers/js-expression-helper.js +16 -1
- package/esm2015/form-entry/helpers/risk-dataset-table.js +247 -0
- package/esm2015/form-entry/question-models/interfaces/base-options.js +1 -1
- package/esm2015/form-entry/question-models/interfaces/radio-button-options.js +1 -1
- package/esm2015/form-entry/question-models/question-base.js +2 -2
- package/esm2015/form-entry/question-models/radio-button.model.js +2 -2
- package/fesm2015/openmrs-ngx-formentry.js +281 -43
- package/fesm2015/openmrs-ngx-formentry.js.map +1 -1
- package/form-entry/helpers/js-expression-helper.d.ts +2 -0
- package/form-entry/helpers/risk-dataset-table.d.ts +1 -0
- package/form-entry/question-models/interfaces/base-options.d.ts +1 -1
- package/form-entry/question-models/interfaces/radio-button-options.d.ts +1 -0
- package/form-entry/question-models/question-base.d.ts +1 -1
- package/form-entry/question-models/radio-button.model.d.ts +2 -4
- package/package.json +1 -1
|
@@ -1579,7 +1579,7 @@
|
|
|
1579
1579
|
this.alert = options.alert;
|
|
1580
1580
|
this.historicalDataValue = options.historicalDataValue;
|
|
1581
1581
|
this.calculateExpression = options.calculateExpression;
|
|
1582
|
-
this.
|
|
1582
|
+
this.allowUnselect = options.allowUnselect;
|
|
1583
1583
|
}
|
|
1584
1584
|
QuestionBase.prototype.setHistoricalValue = function (v) {
|
|
1585
1585
|
this.enableHistoricalValue = v;
|
|
@@ -1590,6 +1590,253 @@
|
|
|
1590
1590
|
return QuestionBase;
|
|
1591
1591
|
}());
|
|
1592
1592
|
|
|
1593
|
+
// South East Asia Non Laboratory CVD Risk Array of Arrays
|
|
1594
|
+
// Vertically we have the BMI value eg for the first array [26(bmi < 20), 28(bmi 20 - 24), 30(bmi 25 - 29), 32(bmi 30 - 35), 34(bmi >= 35)]
|
|
1595
|
+
var southEastAsiaCvdRiskTables = [
|
|
1596
|
+
// Men
|
|
1597
|
+
[
|
|
1598
|
+
// Non smoker
|
|
1599
|
+
[
|
|
1600
|
+
// Age 70 - 74
|
|
1601
|
+
[
|
|
1602
|
+
[26, 28, 30, 32, 34],
|
|
1603
|
+
[21, 23, 25, 26, 28],
|
|
1604
|
+
[17, 19, 20, 21, 23],
|
|
1605
|
+
[14, 15, 16, 17, 18],
|
|
1606
|
+
[11, 12, 13, 14, 15], // sbp < 120
|
|
1607
|
+
],
|
|
1608
|
+
// Age 65 - 69
|
|
1609
|
+
[
|
|
1610
|
+
[20, 22, 24, 26, 28],
|
|
1611
|
+
[16, 17, 19, 21, 22],
|
|
1612
|
+
[12, 14, 15, 16, 18],
|
|
1613
|
+
[10, 11, 12, 13, 14],
|
|
1614
|
+
[8, 8, 9, 10, 11], // < 120
|
|
1615
|
+
],
|
|
1616
|
+
// Age 60 - 64
|
|
1617
|
+
[
|
|
1618
|
+
[15, 17, 19, 21, 23],
|
|
1619
|
+
[12, 13, 14, 16, 18],
|
|
1620
|
+
[9, 10, 11, 12, 14],
|
|
1621
|
+
[7, 8, 8, 9, 10],
|
|
1622
|
+
[5, 6, 6, 7, 8], // sbp < 120
|
|
1623
|
+
],
|
|
1624
|
+
// Age 55 - 59
|
|
1625
|
+
[
|
|
1626
|
+
[12, 13, 15, 16, 18],
|
|
1627
|
+
[9, 10, 11, 12, 14],
|
|
1628
|
+
[7, 7, 8, 9, 10],
|
|
1629
|
+
[5, 5, 6, 7, 8],
|
|
1630
|
+
[4, 4, 4, 5, 6], // sbp < 120
|
|
1631
|
+
],
|
|
1632
|
+
// Age 50 - 54
|
|
1633
|
+
[
|
|
1634
|
+
[9, 10, 11, 13, 15],
|
|
1635
|
+
[7, 7, 8, 9, 11],
|
|
1636
|
+
[5, 5, 6, 7, 8],
|
|
1637
|
+
[3, 4, 4, 5, 6],
|
|
1638
|
+
[2, 3, 3, 4, 4], // sbp < 120
|
|
1639
|
+
],
|
|
1640
|
+
// Age 45 - 49
|
|
1641
|
+
[
|
|
1642
|
+
[7, 8, 9, 10, 12],
|
|
1643
|
+
[5, 6, 6, 7, 8],
|
|
1644
|
+
[3, 4, 4, 5, 6],
|
|
1645
|
+
[2, 3, 3, 4, 4],
|
|
1646
|
+
[2, 2, 2, 2, 3], // < 120
|
|
1647
|
+
],
|
|
1648
|
+
// Age 40 - 44
|
|
1649
|
+
[
|
|
1650
|
+
[5, 6, 7, 8, 10],
|
|
1651
|
+
[4, 4, 5, 6, 7],
|
|
1652
|
+
[2, 3, 3, 4, 4],
|
|
1653
|
+
[2, 2, 2, 3, 3],
|
|
1654
|
+
[1, 1, 2, 2, 2],
|
|
1655
|
+
],
|
|
1656
|
+
],
|
|
1657
|
+
// Smoker
|
|
1658
|
+
[
|
|
1659
|
+
// Age 70 - 74
|
|
1660
|
+
[
|
|
1661
|
+
[34, 36, 39, 41, 44],
|
|
1662
|
+
[28, 30, 32, 34, 36],
|
|
1663
|
+
[23, 24, 26, 28, 30],
|
|
1664
|
+
[18, 20, 21, 23, 24],
|
|
1665
|
+
[15, 16, 17, 18, 20], // < 120
|
|
1666
|
+
],
|
|
1667
|
+
// Age 65 - 69
|
|
1668
|
+
[
|
|
1669
|
+
[28, 30, 33, 36, 39],
|
|
1670
|
+
[22, 24, 26, 29, 31],
|
|
1671
|
+
[18, 19, 21, 23, 25],
|
|
1672
|
+
[14, 15, 16, 18, 20],
|
|
1673
|
+
[11, 12, 13, 14, 16], // < 120
|
|
1674
|
+
],
|
|
1675
|
+
// Age 60 - 64
|
|
1676
|
+
[
|
|
1677
|
+
[23, 25, 28, 31, 34],
|
|
1678
|
+
[18, 18, 20, 22, 24],
|
|
1679
|
+
[14, 15, 17, 19, 21],
|
|
1680
|
+
[10, 12, 13, 14, 16],
|
|
1681
|
+
[8, 9, 10, 11, 12], // < 120
|
|
1682
|
+
],
|
|
1683
|
+
// Age 55 - 59
|
|
1684
|
+
[
|
|
1685
|
+
[19, 21, 24, 27, 30],
|
|
1686
|
+
[14, 16, 18, 20, 23],
|
|
1687
|
+
[11, 12, 13, 15, 17],
|
|
1688
|
+
[8, 9, 10, 11, 13],
|
|
1689
|
+
[6, 7, 7, 8, 10],
|
|
1690
|
+
],
|
|
1691
|
+
// Age 50 - 54
|
|
1692
|
+
[
|
|
1693
|
+
[15, 18, 20, 23, 27],
|
|
1694
|
+
[11, 13, 15, 17, 20],
|
|
1695
|
+
[8, 9, 11, 12, 14],
|
|
1696
|
+
[6, 7, 8, 9, 11],
|
|
1697
|
+
[4, 5, 6, 7, 8],
|
|
1698
|
+
],
|
|
1699
|
+
// Age 45 - 49
|
|
1700
|
+
[
|
|
1701
|
+
[13, 15, 17, 20, 23],
|
|
1702
|
+
[9, 10, 12, 14, 17],
|
|
1703
|
+
[6, 7, 9, 10, 12],
|
|
1704
|
+
[4, 5, 6, 7, 8],
|
|
1705
|
+
[3, 4, 4, 5, 6],
|
|
1706
|
+
],
|
|
1707
|
+
// Age 40 - 44
|
|
1708
|
+
[
|
|
1709
|
+
[10, 12, 14, 17, 20],
|
|
1710
|
+
[7, 8, 10, 12, 14],
|
|
1711
|
+
[5, 6, 7, 8, 10],
|
|
1712
|
+
[3, 4, 5, 6, 7],
|
|
1713
|
+
[2, 3, 3, 4, 5],
|
|
1714
|
+
],
|
|
1715
|
+
],
|
|
1716
|
+
],
|
|
1717
|
+
// Women
|
|
1718
|
+
[
|
|
1719
|
+
// Non smoker
|
|
1720
|
+
[
|
|
1721
|
+
// Age 70 -74
|
|
1722
|
+
[
|
|
1723
|
+
[21, 22, 22, 23, 24],
|
|
1724
|
+
[17, 18, 19, 19, 20],
|
|
1725
|
+
[15, 15, 16, 16, 17],
|
|
1726
|
+
[12, 12, 13, 13, 14],
|
|
1727
|
+
[10, 10, 11, 11, 11], // < 120
|
|
1728
|
+
],
|
|
1729
|
+
// Age 65 - 69
|
|
1730
|
+
[
|
|
1731
|
+
[16, 17, 18, 18, 19],
|
|
1732
|
+
[13, 14, 14, 15, 15],
|
|
1733
|
+
[11, 11, 11, 12, 12],
|
|
1734
|
+
[9, 9, 9, 10, 10],
|
|
1735
|
+
[7, 7, 7, 8, 8],
|
|
1736
|
+
],
|
|
1737
|
+
// Age 60 - 64
|
|
1738
|
+
[
|
|
1739
|
+
[13, 13, 14, 14, 15],
|
|
1740
|
+
[10, 10, 11, 11, 12],
|
|
1741
|
+
[8, 8, 8, 9, 9],
|
|
1742
|
+
[6, 6, 7, 7, 7],
|
|
1743
|
+
[5, 5, 5, 5, 6],
|
|
1744
|
+
],
|
|
1745
|
+
// Age 55 - 59
|
|
1746
|
+
[
|
|
1747
|
+
[10, 10, 11, 11, 12],
|
|
1748
|
+
[8, 8, 8, 9, 9],
|
|
1749
|
+
[6, 6, 6, 7, 7],
|
|
1750
|
+
[4, 5, 5, 5, 5],
|
|
1751
|
+
[3, 3, 4, 4, 4],
|
|
1752
|
+
],
|
|
1753
|
+
// Age 50 - 54
|
|
1754
|
+
[
|
|
1755
|
+
[8, 8, 8, 9, 9],
|
|
1756
|
+
[6, 6, 6, 7, 7],
|
|
1757
|
+
[4, 4, 5, 5, 5],
|
|
1758
|
+
[3, 3, 3, 4, 4],
|
|
1759
|
+
[2, 2, 3, 3, 3],
|
|
1760
|
+
],
|
|
1761
|
+
// Age 45 - 49
|
|
1762
|
+
[
|
|
1763
|
+
[6, 6, 7, 7, 7],
|
|
1764
|
+
[4, 5, 5, 5, 5],
|
|
1765
|
+
[3, 3, 3, 4, 4],
|
|
1766
|
+
[2, 2, 2, 3, 3],
|
|
1767
|
+
[2, 2, 2, 2, 2],
|
|
1768
|
+
],
|
|
1769
|
+
// Age 40 - 44
|
|
1770
|
+
[
|
|
1771
|
+
[5, 5, 5, 5, 6],
|
|
1772
|
+
[3, 3, 4, 4, 4],
|
|
1773
|
+
[2, 2, 3, 3, 3],
|
|
1774
|
+
[2, 2, 2, 2, 2],
|
|
1775
|
+
[1, 1, 1, 1, 1],
|
|
1776
|
+
],
|
|
1777
|
+
],
|
|
1778
|
+
// Smoker
|
|
1779
|
+
[
|
|
1780
|
+
// Age 70 - 74
|
|
1781
|
+
[
|
|
1782
|
+
[30, 31, 32, 33, 34],
|
|
1783
|
+
[25, 26, 27, 28, 29],
|
|
1784
|
+
[21, 22, 22, 23, 24],
|
|
1785
|
+
[17, 18, 19, 19, 20],
|
|
1786
|
+
[14, 15, 15, 16, 17],
|
|
1787
|
+
],
|
|
1788
|
+
// Age 65 - 69
|
|
1789
|
+
[
|
|
1790
|
+
[25, 26, 27, 29, 30],
|
|
1791
|
+
[21, 22, 22, 23, 24],
|
|
1792
|
+
[17, 18, 18, 19, 20],
|
|
1793
|
+
[14, 14, 15, 15, 16],
|
|
1794
|
+
[11, 11, 12, 12, 13],
|
|
1795
|
+
],
|
|
1796
|
+
// Age 60 - 64
|
|
1797
|
+
[
|
|
1798
|
+
[21, 22, 23, 25, 26],
|
|
1799
|
+
[17, 18, 19, 20, 21],
|
|
1800
|
+
[13, 14, 15, 16, 16],
|
|
1801
|
+
[11, 11, 12, 12, 13],
|
|
1802
|
+
[8, 9, 9, 10, 10],
|
|
1803
|
+
],
|
|
1804
|
+
// Age 55 - 59
|
|
1805
|
+
[
|
|
1806
|
+
[18, 19, 20, 21, 22],
|
|
1807
|
+
[14, 15, 15, 16, 17],
|
|
1808
|
+
[11, 11, 12, 13, 13],
|
|
1809
|
+
[8, 9, 9, 10, 10],
|
|
1810
|
+
[6, 7, 7, 7, 8],
|
|
1811
|
+
],
|
|
1812
|
+
// Age 50 - 54
|
|
1813
|
+
[
|
|
1814
|
+
[15, 16, 17, 18, 19],
|
|
1815
|
+
[11, 12, 13, 14, 14],
|
|
1816
|
+
[9, 9, 10, 10, 11],
|
|
1817
|
+
[6, 7, 7, 8, 8],
|
|
1818
|
+
[5, 5, 5, 6, 6],
|
|
1819
|
+
],
|
|
1820
|
+
// Age 45 - 49
|
|
1821
|
+
[
|
|
1822
|
+
[13, 14, 14, 15, 16],
|
|
1823
|
+
[9, 10, 11, 11, 12],
|
|
1824
|
+
[7, 7, 8, 8, 9],
|
|
1825
|
+
[5, 5, 6, 6, 6],
|
|
1826
|
+
[4, 4, 4, 4, 5],
|
|
1827
|
+
],
|
|
1828
|
+
// Age 40 - 44
|
|
1829
|
+
[
|
|
1830
|
+
[11, 11, 12, 13, 14],
|
|
1831
|
+
[8, 8, 9, 9, 10],
|
|
1832
|
+
[5, 6, 6, 7, 7],
|
|
1833
|
+
[4, 4, 4, 5, 5],
|
|
1834
|
+
[3, 3, 3, 3, 4],
|
|
1835
|
+
],
|
|
1836
|
+
],
|
|
1837
|
+
],
|
|
1838
|
+
];
|
|
1839
|
+
|
|
1593
1840
|
var JsExpressionHelper = /** @class */ (function () {
|
|
1594
1841
|
function JsExpressionHelper() {
|
|
1595
1842
|
}
|
|
@@ -1743,6 +1990,19 @@
|
|
|
1743
1990
|
}
|
|
1744
1991
|
return height && weight && refSectionObject ? formattedSDValue : null;
|
|
1745
1992
|
};
|
|
1993
|
+
JsExpressionHelper.prototype.calcSouthEastAsiaNonLabCVDRisk = function (sex, smoker, age, sbp, bmi) {
|
|
1994
|
+
// Bin functions
|
|
1995
|
+
var getAgeBin = function (age) { return Math.floor((Math.min(Math.max(40, age), 74) - 40) / 5); };
|
|
1996
|
+
var getSbpBin = function (sbp) { return Math.max(0, Math.floor((Math.min(sbp, 180) - 120) / 20) + 1); };
|
|
1997
|
+
var getBmiBin = function (bmi) { return Math.max(0, Math.floor((Math.min(bmi, 35) - 20) / 5) + 1); };
|
|
1998
|
+
// Variables
|
|
1999
|
+
var sexIdx = sex === 'M' ? 0 : 1;
|
|
2000
|
+
var smokerIdx = smoker ? 1 : 0;
|
|
2001
|
+
var ageIdx = 6 - getAgeBin(age);
|
|
2002
|
+
var bmiIdx = getBmiBin(bmi);
|
|
2003
|
+
var sbpIdx = 4 - getSbpBin(sbp);
|
|
2004
|
+
return southEastAsiaCvdRiskTables[sexIdx][smokerIdx][ageIdx][sbpIdx][bmiIdx];
|
|
2005
|
+
};
|
|
1746
2006
|
JsExpressionHelper.prototype.isEmpty = function (val) {
|
|
1747
2007
|
if (val === undefined ||
|
|
1748
2008
|
val === null ||
|
|
@@ -1819,6 +2079,7 @@
|
|
|
1819
2079
|
calcBMIForAgeZscore: helper.calcBMIForAgeZscore,
|
|
1820
2080
|
calcWeightForHeightZscore: helper.calcWeightForHeightZscore,
|
|
1821
2081
|
calcHeightForAgeZscore: helper.calcHeightForAgeZscore,
|
|
2082
|
+
calcSouthEastAsiaNonLabCVDRisk: helper.calcSouthEastAsiaNonLabCVDRisk,
|
|
1822
2083
|
isEmpty: helper.isEmpty,
|
|
1823
2084
|
arrayContains: helper.arrayContains,
|
|
1824
2085
|
extractRepeatingGroupValues: helper.extractRepeatingGroupValues
|
|
@@ -8946,18 +9207,11 @@
|
|
|
8946
9207
|
|
|
8947
9208
|
var RadioButtonControlComponent = /** @class */ (function () {
|
|
8948
9209
|
function RadioButtonControlComponent() {
|
|
8949
|
-
this.onChange = function (
|
|
9210
|
+
this.onChange = function (_) { };
|
|
8950
9211
|
this.onTouched = function () { };
|
|
8951
9212
|
}
|
|
8952
9213
|
RadioButtonControlComponent.prototype.ngOnInit = function () {
|
|
8953
|
-
|
|
8954
|
-
this.options = this.options.map(function (option) {
|
|
8955
|
-
if (_this.selected == option.value) {
|
|
8956
|
-
_this.selected = option.value;
|
|
8957
|
-
Object.assign(option, { checked: true });
|
|
8958
|
-
}
|
|
8959
|
-
return option;
|
|
8960
|
-
});
|
|
9214
|
+
this.options = this.options.map(function (opt) { return (Object.assign(Object.assign({}, opt), { checked: false })); });
|
|
8961
9215
|
};
|
|
8962
9216
|
RadioButtonControlComponent.prototype.writeValue = function (value) { };
|
|
8963
9217
|
RadioButtonControlComponent.prototype.registerOnChange = function (fn) {
|
|
@@ -8966,44 +9220,24 @@
|
|
|
8966
9220
|
RadioButtonControlComponent.prototype.registerOnTouched = function (fn) {
|
|
8967
9221
|
this.onTouched = fn;
|
|
8968
9222
|
};
|
|
8969
|
-
RadioButtonControlComponent.prototype.
|
|
8970
|
-
|
|
8971
|
-
|
|
8972
|
-
|
|
8973
|
-
|
|
8974
|
-
|
|
8975
|
-
|
|
8976
|
-
else {
|
|
8977
|
-
_this.selected = null;
|
|
8978
|
-
Object.assign(o, { checked: false });
|
|
8979
|
-
}
|
|
8980
|
-
});
|
|
8981
|
-
};
|
|
8982
|
-
RadioButtonControlComponent.prototype.selectUnselectOpt = function (option, event) {
|
|
8983
|
-
var _this = this;
|
|
8984
|
-
this.options.forEach(function (o) {
|
|
8985
|
-
if (event.target.checked &&
|
|
8986
|
-
_this.selected == o.value &&
|
|
8987
|
-
_this.selected == option.value) {
|
|
8988
|
-
_this.selected = null;
|
|
8989
|
-
Object.assign(o, { checked: false });
|
|
8990
|
-
}
|
|
8991
|
-
else if (event.target.checked && o.value == option.value) {
|
|
8992
|
-
_this.selected = o.value;
|
|
8993
|
-
Object.assign(o, { checked: true });
|
|
8994
|
-
}
|
|
8995
|
-
});
|
|
9223
|
+
RadioButtonControlComponent.prototype.handleClick = function (option) {
|
|
9224
|
+
if (this.allowUnselect && option.checked) {
|
|
9225
|
+
option.checked = false;
|
|
9226
|
+
}
|
|
9227
|
+
else if (!option.checked) {
|
|
9228
|
+
option.checked = true;
|
|
9229
|
+
}
|
|
8996
9230
|
};
|
|
8997
9231
|
return RadioButtonControlComponent;
|
|
8998
9232
|
}());
|
|
8999
9233
|
RadioButtonControlComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RadioButtonControlComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
9000
|
-
RadioButtonControlComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: RadioButtonControlComponent, selector: "ofe-radio-button", inputs: { id: "id",
|
|
9234
|
+
RadioButtonControlComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: RadioButtonControlComponent, selector: "ofe-radio-button", inputs: { id: "id", options: "options", allowUnselect: "allowUnselect" }, providers: [
|
|
9001
9235
|
{
|
|
9002
9236
|
provide: i19.NG_VALUE_ACCESSOR,
|
|
9003
9237
|
useExisting: i0.forwardRef(function () { return RadioButtonControlComponent; }),
|
|
9004
9238
|
multi: true
|
|
9005
9239
|
}
|
|
9006
|
-
], ngImport: i0__namespace, template: "<fieldset class=\"
|
|
9240
|
+
], ngImport: i0__namespace, template: "<fieldset class=\"cds--fieldset\">\n <div\n *ngFor=\"let option of options; let i = index\"\n class=\"cds--form-item cds--radio-wrapper\"\n >\n <label class=\"form-control no-border\">\n <input\n type=\"radio\"\n [id]=\"id + '_' + i\"\n [name]=\"id\"\n [checked]=\"option.checked\"\n [value]=\"option.value\"\n (click)=\"handleClick(option)\"\n />\n {{ option.label }}\n </label>\n </div>\n</fieldset>\n", directives: [{ type: i1__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
9007
9241
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RadioButtonControlComponent, decorators: [{
|
|
9008
9242
|
type: i0.Component,
|
|
9009
9243
|
args: [{
|
|
@@ -9019,11 +9253,9 @@
|
|
|
9019
9253
|
}]
|
|
9020
9254
|
}], propDecorators: { id: [{
|
|
9021
9255
|
type: i0.Input
|
|
9022
|
-
}], selected: [{
|
|
9023
|
-
type: i0.Input
|
|
9024
9256
|
}], options: [{
|
|
9025
9257
|
type: i0.Input
|
|
9026
|
-
}],
|
|
9258
|
+
}], allowUnselect: [{
|
|
9027
9259
|
type: i0.Input
|
|
9028
9260
|
}] } });
|
|
9029
9261
|
|
|
@@ -9891,7 +10123,7 @@
|
|
|
9891
10123
|
return FormRendererComponent;
|
|
9892
10124
|
}());
|
|
9893
10125
|
FormRendererComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FormRendererComponent, deps: [{ token: ValidationFactory }, { token: DataSources }, { token: FormErrorsService }, { token: i1.DOCUMENT }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
9894
|
-
FormRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FormRendererComponent, selector: "ofe-form-renderer", inputs: { parentComponent: "parentComponent", node: "node", parentGroup: "parentGroup", theme: "theme", labelMap: "labelMap", controlId: "controlId" }, usesOnChanges: true, ngImport: i0__namespace, template: "<!--CONTAINERS-->\n<div *ngIf=\"node.question.renderingType === 'form'\">\n <ofe-tab-set (tabSelect)=\"tabSelected($event)\" [selectedIndex]=\"activeTab\">\n <ofe-tab\n [tabTitle]=\"question.label\"\n *ngFor=\"let question of node.question.questions; let i = index\"\n >\n <ofe-form-renderer\n [node]=\"node.children[question.key]\"\n [parentComponent]=\"this\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n >\n </ofe-form-renderer>\n </ofe-tab>\n <div *ngIf=\"showErrors()\" class=\"container\">\n <div\n data-notification\n *ngFor=\"let errorNode of errorNodes\"\n class=\"cds--inline-notification cds--inline-notification--error cds--inline-notification--low-contrast pointer\"\n role=\"alert\"\n (click)=\"announceErrorField(errorNode)\"\n >\n <div class=\"cds--inline-notification__details\">\n <div class=\"cds--inline-notification__text-wrapper\">\n <p class=\"cds--inline-notification__title\">\n {{ errorNode.question.label }}\n </p>\n <p class=\"cds--inline-notification__subtitle\">\n {{ getControlError(errorNode) }}\n </p>\n </div>\n </div>\n <button\n tabindex=\"0\"\n class=\"cds--inline-notification__action-button cds--btn cds--btn--sm cds--btn--ghost\"\n type=\"button\"\n >\n Fix\n </button>\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n style=\"will-change: transform\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"cds--inline-notification__icon\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M10,1c-5,0-9,4-9,9s4,9,9,9s9-4,9-9S15,1,10,1z M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n ></path>\n <path\n d=\"M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n data-icon-path=\"inner-path\"\n opacity=\"0\"\n ></path>\n </svg>\n </div>\n </div>\n </ofe-tab-set>\n</div>\n<div *ngIf=\"node.question.renderingType === 'page'\">\n <!--Page Components-->\n <ofe-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n</div>\n<div *ngIf=\"node.question.renderingType === 'section' && checkSection(node)\">\n <div\n class=\"cds--accordion__item\"\n [ngClass]=\"{ 'cds--accordion__item--active': !isCollapsed }\"\n >\n <button\n class=\"cds--accordion__heading\"\n type=\"button\"\n [attr.aria-expanded]=\"isCollapsed ? 'false' : 'true'\"\n aria-controls=\"accordion-item-0\"\n (click)=\"isCollapsed = !isCollapsed\"\n >\n <svg\n class=\"cds--accordion__arrow\"\n ibmIcon=\"chevron--right\"\n size=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n aria-hidden=\"true\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"></path>\n </svg>\n <p class=\"cds--accordion__title\">\n {{ node.question.label }}\n </p>\n </button>\n <div ofeCollapse=\"isCollapsed\">\n <!--Section Components-->\n <ofe-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <div\n class=\"cds--accordion__content accordion-content-override\"\n [ngClass]=\"{\n 'accordion-content-dark': theme === 'light'\n }\"\n >\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n </div>\n </div>\n</div>\n\n<!-- MESSAGES -->\n<div\n *ngIf=\"node.control && node.control.alert && node.control.alert !== ''\"\n class=\"alert alert-warning\"\n>\n <a class=\"close\" data-dismiss=\"alert\">×</a> {{ node.control.alert }}\n</div>\n\n<!--CONTROLS-->\n\n<div\n *ngIf=\"node.question.controlType === 0\"\n [formGroup]=\"parentGroup\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <ofe-custom-component-wrapper\n [dark]=\"!(theme === 'light')\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <div class=\"cds--form-item\">\n <!--LEAF CONTROL-->\n <div class=\"question-area\">\n <a\n class=\"form-tooltip pull-right\"\n (click)=\"toggleInformation(node.question.extras.id)\"\n data-placement=\"right\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n <i class=\"glyphicon glyphicon-question-sign\" aria-hidden=\"true\"></i>\n </a>\n\n <label\n *ngIf=\"node.question.label\"\n [style.color]=\"hasErrors() ? 'red' : ''\"\n class=\"cds--label\"\n [attr.for]=\"node.question.key\"\n >\n {{ node.question.required ? '*' : '' }}\n {{ node.question.prefix ? node.question.prefix + ' ' : ''\n }}{{ node.question.label }}\n </label>\n\n <div\n *ngIf=\"\n node.question.extras.questionOptions.customControl;\n else nativeControls\n \"\n >\n <ofe-custom-control-wrapper\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [question]=\"node.question\"\n >\n </ofe-custom-control-wrapper>\n </div>\n\n <ng-template #nativeControls>\n <div class=\"afe-control\" [ngSwitch]=\"node.question.renderingType\">\n <ofe-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'select'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n >\n <option *ngFor=\"let o of node.question.options\" [value]=\"o.value\">\n {{ o.label }}\n </option>\n </ofe-select>\n\n <div *ngSwitchCase=\"'file'\">\n <ofe-file-upload\n [dataSource]=\"dataSource\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n (fileChanged)=\"upload($event)\"\n >\n </ofe-file-upload>\n </div>\n\n <textarea\n [theme]=\"theme\"\n ofeTextAreaInput\n [ngClass]=\"{\n 'cds--text-area--light': theme === 'light',\n 'cds--text-area--invalid': !node.control.valid\n }\"\n [placeholder]=\"node.question.placeholder\"\n [rows]=\"node.question.rows\"\n class=\"cds--text-area\"\n *ngSwitchCase=\"'textarea'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n >\n </textarea>\n\n <ofe-remote-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'remote-select'\"\n [placeholder]=\"node.question.placeholder\"\n tabindex=\"0\"\n [dataSource]=\"dataSource\"\n [componentID]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n ></ofe-remote-select>\n\n <ofe-ngx-date-time-picker\n [weeks]=\"node.question.extras.questionOptions.weeksList\"\n [showWeeks]=\"node.question.showWeeksAdder\"\n [theme]=\"theme\"\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n *ngSwitchCase=\"'date'\"\n [datePickerFormat]=\"node.question.datePickerFormat\"\n >\n </ofe-ngx-date-time-picker>\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'multi-select'\"\n [items]=\"node.question.options\"\n bindLabel=\"label\"\n bindValue=\"value\"\n [multiple]=\"true\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n </ng-select>\n\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'single-select'\"\n [items]=\"node.question.options\"\n bindLabel=\"label\"\n bindValue=\"value\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n </ng-select>\n\n <ofe-number-input\n [theme]=\"theme\"\n *ngSwitchCase=\"'number'\"\n [id]=\"node.question.key + 'id'\"\n [min]=\"node.question.extras.questionOptions.min\"\n [max]=\"node.question.extras.questionOptions.max\"\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder\"\n >\n </ofe-number-input>\n\n <input\n [theme]=\"theme\"\n class=\"cds--text-input\"\n ofeTextInput\n *ngSwitchDefault\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder\"\n [type]=\"node.question.renderingType\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n />\n\n <div *ngSwitchCase=\"'radio'\">\n <ofe-radio-button\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [selected]=\"node.control.value\"\n [allowRadioUnselect]=\"node.question.allowRadioUnselect\"\n ></ofe-radio-button>\n </div>\n\n <div *ngSwitchCase=\"'checkbox'\">\n <ofe-checkbox\n [id]=\"node.question.key + 'id' + controlId\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [selected]=\"node.control.value\"\n ></ofe-checkbox>\n </div>\n\n <div\n *ngIf=\"\n node.question.enableHistoricalValue &&\n node.question.historicalDisplay\n \"\n style=\"margin-top: 2px\"\n >\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-xs-9\">\n <span class=\"text-warning\">Previous Value: </span>\n <strong>{{ node.question.historicalDisplay?.text }}</strong>\n <span *ngIf=\"node.question.showHistoricalValueDate\">\n <span> | </span>\n <strong class=\"text-primary\"\n >{{ node.question.historicalDisplay?._date | date }}\n </strong>\n <span\n class=\"text-primary\"\n *ngIf=\"\n node.question.historicalDisplay &&\n node.question.historicalDisplay._date\n \"\n >\n ({{\n node.question.historicalDisplay._date | timeAgo\n }})</span\n >\n </span>\n </div>\n <button\n type=\"button\"\n ofeNode=\"node\"\n [name]=\"'historyValue'\"\n class=\"cds--btn cds--btn--primary cds--btn--sm col-xs-3\"\n >\n Use Value\n </button>\n </div>\n </div>\n </div>\n <ofe-appointments-overview [node]=\"node\"></ofe-appointments-overview>\n <div *ngIf=\"hasErrors()\">\n <div *ngFor=\"let e of errors()\">\n <span class=\"text-danger\">{{ e }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <div\n class=\"question-info col-md-12 col-lg-12 col-sm-12\"\n id=\"{{ node.question.extras.id }}\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n {{ node.question.extras.questionInfo }}\n </div>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 1\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--ARRAY CONTROL-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div class=\"well\" style=\"padding: 2px\" *ngSwitchCase=\"'repeating'\">\n <h4 style=\"margin: 2px; font-weight: bold\">{{ node.question.label }}</h4>\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 2px;\n \"\n />\n <div [ngSwitch]=\"node.question.extras.type\">\n <div *ngSwitchCase=\"'testOrder'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n <div>{{ child.orderNumber }}</div>\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n Remove\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'obsGroup'\" style=\"margin-bottom: 20px\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n [controlId]=\"i\"\n ></ofe-form-renderer>\n <button\n type=\"button\"\n style=\"width: 100px\"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n Remove\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n </div>\n <button\n type=\"button\"\n class=\"cds--btn cds--btn--primary cds--btn--sm\"\n (click)=\"node.createChildNode()\"\n >\n Add\n </button>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 2\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--GROUP-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div *ngSwitchCase=\"'group'\">\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n <div\n *ngSwitchCase=\"'field-set'\"\n style=\"border: 1px solid #eeeeee; padding: 2px; margin: 2px\"\n >\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n </div>\n</div>\n", styles: [".slider{width:auto;margin:30px}.slick-prev:before,.slick-next:before{color:#337ab7}.slick-dots{bottom:-40px}.slick-slide{outline:none}\n", "a{color:#fff;text-decoration:none;font-size:12px;text-transform:uppercase}ul{list-style-type:none;margin:2px auto;position:relative}li{display:block;padding:10px 20px;white-space:nowrap;transition:all .3s ease-in;border-bottom:4px solid transparent}li:hover{border-bottom:4px solid white;opacity:.7;cursor:pointer}.owl-theme .owl-controls .owl-nav{position:absolute;width:100%;top:0}.owl-theme .owl-controls .owl-nav [class*=owl-]{position:absolute;background:none;color:#000}.owl-theme .owl-controls .owl-nav [class*=owl-]:hover{background:none;color:#000}.owl-theme .owl-controls .owl-nav .owl-next{right:0;transform:translate(120%)}.owl-theme .owl-controls .owl-nav .owl-prev{left:0;transform:translate(-120%)}.slick-initialized .swipe-tab-content{position:relative;min-height:365px}@media screen and (min-width: 767px){.slick-initialized .swipe-tab-content{min-height:500px}}.slick-initialized .swipe-tab{display:flex;align-items:center;justify-content:center;height:50px;background:none;border:0;color:#757575;cursor:pointer;text-align:center;border-bottom:2px solid rgba(51,122,183,0);transition:all .5s}.slick-initialized .swipe-tab:hover{color:#337ab7}.slick-initialized .swipe-tab.active-tab{border-bottom-color:#337ab7;color:#337ab7;font-weight:bold}.disabled{opacity:.5;pointer-events:none}.select2-container{margin-top:-5px}.btn{padding:0 12px!important}.form-tooltip{color:#337ab7;display:inline-block}.question-info{opacity:0;height:0px;display:none;transition-duration:opacity 1s ease-out;transtion-delay:.5s;padding-top:2px;padding-bottom:2px;color:#696969;border-style:ridge;border-width:1px;border-color:#337ab7;margin-top:2px}.hide-info{display:none;height:0px}.form-tooltip:hover~.question-info{display:block;opacity:1;height:auto}.form-tooltip .tooltipcontent:after{content:\" \";position:absolute;bottom:100%;right:0%;margin-left:-5px;border-width:5px;border-style:solid;border-top-color:transparent;border-right-color:transparent;border-bottom-color:#337ab7;border-left-color:transparent}ng-select.form-control{padding-top:0;height:auto;padding-bottom:0}.forms-dropdown-menu{max-height:450px;overflow-y:scroll}.no-border{border:0;box-shadow:none}.text-danger{color:var(--cds-support-01, #da1e28)}.error{margin-bottom:3rem}.afe-control{margin-bottom:1.5rem}[hidden]{display:none!important}.accordion-content-dark{background-color:#f4f4f4;padding-right:1rem}.accordion-content-override{box-sizing:content-box}.question-area{width:100%;max-width:18rem}.in-line{display:inline-block;padding-right:.5rem}\n"], components: [{ type: TabSetComponent, selector: "ofe-tab-set", inputs: ["disableStyle", "customNavClass", "customTabsClass", "selectedIndex"], outputs: ["tabSelect"] }, { type: TabComponent, selector: "ofe-tab", inputs: ["tabTitle", "tabSubTitle", "active", "disabled", "bypassDOM", "customPaneClass"] }, { type: FormRendererComponent, selector: "ofe-form-renderer", inputs: ["parentComponent", "node", "parentGroup", "theme", "labelMap", "controlId"] }, { type: CustomComponentWrapperComponent, selector: "ofe-custom-component-wrapper", inputs: ["componentConfigs", "dark"] }, { type: CustomControlWrapperComponent, selector: "ofe-custom-control-wrapper", inputs: ["question"] }, { type: SelectComponent, selector: "ofe-select", inputs: ["display", "label", "helperText", "invalidText", "warn", "warnText", "id", "size", "disabled", "skeleton", "invalid", "theme", "ariaLabel", "value"], outputs: ["valueChange"] }, { type: FileUploadComponent, selector: "ofe-file-upload", inputs: ["dataSource"] }, { type: RemoteSelectComponent, selector: "ofe-remote-select", inputs: ["placeholder", "componentID", "disabled", "theme", "dataSource"], outputs: ["done"] }, { type: NgxDatetimeComponent, selector: "ofe-ngx-date-time-picker", inputs: ["id", "theme", "datePickerFormat", "showWeeks", "weeks"] }, { type: i1__namespace$3.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: NumberInputComponent, selector: "ofe-number-input", inputs: ["theme", "disabled", "skeleton", "invalid", "id", "size", "required", "value", "min", "max", "label", "helperText", "invalidText", "step", "precision", "warn", "warnText", "decrementLabel", "incrementLabel"], outputs: ["numberChange"] }, { type: RadioButtonControlComponent, selector: "ofe-radio-button", inputs: ["id", "selected", "options", "allowRadioUnselect"] }, { type: CheckboxControlComponent, selector: "ofe-checkbox", inputs: ["id", "options", "selected"] }, { type: AppointmentsOverviewComponent, selector: "ofe-appointments-overview", inputs: ["node"] }], directives: [{ type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CollapseDirective, selector: "[ofeCollapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { type: i19__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i19__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i19__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i19__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i1__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i19__namespace.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i19__namespace.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i19__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: TextAreaDirective, selector: "[ofeTextAreaInput]", inputs: ["theme", "invalid", "skeleton"] }, { type: i1__namespace.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: TextInputDirective, selector: "[ofeTextInput]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { type: HistoricalValueDirective, selector: "[ofeNode]", inputs: ["_node", "node"], outputs: ["_nodeChange"] }], pipes: { "date": i1__namespace.DatePipe, "timeAgo": TimeAgoPipe } });
|
|
10126
|
+
FormRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FormRendererComponent, selector: "ofe-form-renderer", inputs: { parentComponent: "parentComponent", node: "node", parentGroup: "parentGroup", theme: "theme", labelMap: "labelMap", controlId: "controlId" }, usesOnChanges: true, ngImport: i0__namespace, template: "<!--CONTAINERS-->\n<div *ngIf=\"node.question.renderingType === 'form'\">\n <ofe-tab-set (tabSelect)=\"tabSelected($event)\" [selectedIndex]=\"activeTab\">\n <ofe-tab\n [tabTitle]=\"question.label\"\n *ngFor=\"let question of node.question.questions; let i = index\"\n >\n <ofe-form-renderer\n [node]=\"node.children[question.key]\"\n [parentComponent]=\"this\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n >\n </ofe-form-renderer>\n </ofe-tab>\n <div *ngIf=\"showErrors()\" class=\"container\">\n <div\n data-notification\n *ngFor=\"let errorNode of errorNodes\"\n class=\"cds--inline-notification cds--inline-notification--error cds--inline-notification--low-contrast pointer\"\n role=\"alert\"\n (click)=\"announceErrorField(errorNode)\"\n >\n <div class=\"cds--inline-notification__details\">\n <div class=\"cds--inline-notification__text-wrapper\">\n <p class=\"cds--inline-notification__title\">\n {{ errorNode.question.label }}\n </p>\n <p class=\"cds--inline-notification__subtitle\">\n {{ getControlError(errorNode) }}\n </p>\n </div>\n </div>\n <button\n tabindex=\"0\"\n class=\"cds--inline-notification__action-button cds--btn cds--btn--sm cds--btn--ghost\"\n type=\"button\"\n >\n Fix\n </button>\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n style=\"will-change: transform\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"cds--inline-notification__icon\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M10,1c-5,0-9,4-9,9s4,9,9,9s9-4,9-9S15,1,10,1z M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n ></path>\n <path\n d=\"M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n data-icon-path=\"inner-path\"\n opacity=\"0\"\n ></path>\n </svg>\n </div>\n </div>\n </ofe-tab-set>\n</div>\n<div *ngIf=\"node.question.renderingType === 'page'\">\n <!--Page Components-->\n <ofe-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n</div>\n<div *ngIf=\"node.question.renderingType === 'section' && checkSection(node)\">\n <div\n class=\"cds--accordion__item\"\n [ngClass]=\"{ 'cds--accordion__item--active': !isCollapsed }\"\n >\n <button\n class=\"cds--accordion__heading\"\n type=\"button\"\n [attr.aria-expanded]=\"isCollapsed ? 'false' : 'true'\"\n aria-controls=\"accordion-item-0\"\n (click)=\"isCollapsed = !isCollapsed\"\n >\n <svg\n class=\"cds--accordion__arrow\"\n ibmIcon=\"chevron--right\"\n size=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n aria-hidden=\"true\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"></path>\n </svg>\n <p class=\"cds--accordion__title\">\n {{ node.question.label }}\n </p>\n </button>\n <div ofeCollapse=\"isCollapsed\">\n <!--Section Components-->\n <ofe-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <div\n class=\"cds--accordion__content accordion-content-override\"\n [ngClass]=\"{\n 'accordion-content-dark': theme === 'light'\n }\"\n >\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n </div>\n </div>\n</div>\n\n<!-- MESSAGES -->\n<div\n *ngIf=\"node.control && node.control.alert && node.control.alert !== ''\"\n class=\"alert alert-warning\"\n>\n <a class=\"close\" data-dismiss=\"alert\">×</a> {{ node.control.alert }}\n</div>\n\n<!--CONTROLS-->\n\n<div\n *ngIf=\"node.question.controlType === 0\"\n [formGroup]=\"parentGroup\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <ofe-custom-component-wrapper\n [dark]=\"!(theme === 'light')\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <div class=\"cds--form-item\">\n <!--LEAF CONTROL-->\n <div class=\"question-area\">\n <a\n class=\"form-tooltip pull-right\"\n (click)=\"toggleInformation(node.question.extras.id)\"\n data-placement=\"right\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n <i class=\"glyphicon glyphicon-question-sign\" aria-hidden=\"true\"></i>\n </a>\n\n <label\n *ngIf=\"node.question.label\"\n [style.color]=\"hasErrors() ? 'red' : ''\"\n class=\"cds--label\"\n [attr.for]=\"node.question.key\"\n >\n {{ node.question.required ? '*' : '' }}\n {{ node.question.prefix ? node.question.prefix + ' ' : ''\n }}{{ node.question.label }}\n </label>\n\n <div\n *ngIf=\"\n node.question.extras.questionOptions.customControl;\n else nativeControls\n \"\n >\n <ofe-custom-control-wrapper\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [question]=\"node.question\"\n >\n </ofe-custom-control-wrapper>\n </div>\n\n <ng-template #nativeControls>\n <div class=\"afe-control\" [ngSwitch]=\"node.question.renderingType\">\n <ofe-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'select'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n >\n <option *ngFor=\"let o of node.question.options\" [value]=\"o.value\">\n {{ o.label }}\n </option>\n </ofe-select>\n\n <div *ngSwitchCase=\"'file'\">\n <ofe-file-upload\n [dataSource]=\"dataSource\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n (fileChanged)=\"upload($event)\"\n >\n </ofe-file-upload>\n </div>\n\n <textarea\n [theme]=\"theme\"\n ofeTextAreaInput\n [ngClass]=\"{\n 'cds--text-area--light': theme === 'light',\n 'cds--text-area--invalid': !node.control.valid\n }\"\n [placeholder]=\"node.question.placeholder\"\n [rows]=\"node.question.rows\"\n class=\"cds--text-area\"\n *ngSwitchCase=\"'textarea'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n >\n </textarea>\n\n <ofe-remote-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'remote-select'\"\n [placeholder]=\"node.question.placeholder\"\n tabindex=\"0\"\n [dataSource]=\"dataSource\"\n [componentID]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n ></ofe-remote-select>\n\n <ofe-ngx-date-time-picker\n [weeks]=\"node.question.extras.questionOptions.weeksList\"\n [showWeeks]=\"node.question.showWeeksAdder\"\n [theme]=\"theme\"\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n *ngSwitchCase=\"'date'\"\n [datePickerFormat]=\"node.question.datePickerFormat\"\n >\n </ofe-ngx-date-time-picker>\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'multi-select'\"\n [items]=\"node.question.options\"\n bindLabel=\"label\"\n bindValue=\"value\"\n [multiple]=\"true\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n </ng-select>\n\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'single-select'\"\n [items]=\"node.question.options\"\n bindLabel=\"label\"\n bindValue=\"value\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n </ng-select>\n\n <ofe-number-input\n [theme]=\"theme\"\n *ngSwitchCase=\"'number'\"\n [id]=\"node.question.key + 'id'\"\n [min]=\"node.question.extras.questionOptions.min\"\n [max]=\"node.question.extras.questionOptions.max\"\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder\"\n >\n </ofe-number-input>\n\n <input\n [theme]=\"theme\"\n class=\"cds--text-input\"\n ofeTextInput\n *ngSwitchDefault\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder\"\n [type]=\"node.question.renderingType\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n />\n\n <div *ngSwitchCase=\"'radio'\">\n <ofe-radio-button\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [allowUnselect]=\"node.question.allowUnselect\"\n [selected]=\"node.control.value\"\n ></ofe-radio-button>\n </div>\n\n <div *ngSwitchCase=\"'checkbox'\">\n <ofe-checkbox\n [id]=\"node.question.key + 'id' + controlId\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [selected]=\"node.control.value\"\n ></ofe-checkbox>\n </div>\n\n <div\n *ngIf=\"\n node.question.enableHistoricalValue &&\n node.question.historicalDisplay\n \"\n style=\"margin-top: 2px\"\n >\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-xs-9\">\n <span class=\"text-warning\">Previous Value: </span>\n <strong>{{ node.question.historicalDisplay?.text }}</strong>\n <span *ngIf=\"node.question.showHistoricalValueDate\">\n <span> | </span>\n <strong class=\"text-primary\"\n >{{ node.question.historicalDisplay?._date | date }}\n </strong>\n <span\n class=\"text-primary\"\n *ngIf=\"\n node.question.historicalDisplay &&\n node.question.historicalDisplay._date\n \"\n >\n ({{\n node.question.historicalDisplay._date | timeAgo\n }})</span\n >\n </span>\n </div>\n <button\n type=\"button\"\n ofeNode=\"node\"\n [name]=\"'historyValue'\"\n class=\"cds--btn cds--btn--primary cds--btn--sm col-xs-3\"\n >\n Use Value\n </button>\n </div>\n </div>\n </div>\n <ofe-appointments-overview [node]=\"node\"></ofe-appointments-overview>\n <div *ngIf=\"hasErrors()\">\n <div *ngFor=\"let e of errors()\">\n <span class=\"text-danger\">{{ e }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <div\n class=\"question-info col-md-12 col-lg-12 col-sm-12\"\n id=\"{{ node.question.extras.id }}\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n {{ node.question.extras.questionInfo }}\n </div>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 1\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--ARRAY CONTROL-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div class=\"well\" style=\"padding: 2px\" *ngSwitchCase=\"'repeating'\">\n <h4 style=\"margin: 2px; font-weight: bold\">{{ node.question.label }}</h4>\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 2px;\n \"\n />\n <div [ngSwitch]=\"node.question.extras.type\">\n <div *ngSwitchCase=\"'testOrder'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n <div>{{ child.orderNumber }}</div>\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n Remove\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'obsGroup'\" style=\"margin-bottom: 20px\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n [controlId]=\"i\"\n ></ofe-form-renderer>\n <button\n type=\"button\"\n style=\"width: 100px\"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n Remove\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n </div>\n <button\n type=\"button\"\n class=\"cds--btn cds--btn--primary cds--btn--sm\"\n (click)=\"node.createChildNode()\"\n >\n Add\n </button>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 2\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--GROUP-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div *ngSwitchCase=\"'group'\">\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n <div\n *ngSwitchCase=\"'field-set'\"\n style=\"border: 1px solid #eeeeee; padding: 2px; margin: 2px\"\n >\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n </div>\n</div>\n", styles: [".slider{width:auto;margin:30px}.slick-prev:before,.slick-next:before{color:#337ab7}.slick-dots{bottom:-40px}.slick-slide{outline:none}\n", "a{color:#fff;text-decoration:none;font-size:12px;text-transform:uppercase}ul{list-style-type:none;margin:2px auto;position:relative}li{display:block;padding:10px 20px;white-space:nowrap;transition:all .3s ease-in;border-bottom:4px solid transparent}li:hover{border-bottom:4px solid white;opacity:.7;cursor:pointer}.owl-theme .owl-controls .owl-nav{position:absolute;width:100%;top:0}.owl-theme .owl-controls .owl-nav [class*=owl-]{position:absolute;background:none;color:#000}.owl-theme .owl-controls .owl-nav [class*=owl-]:hover{background:none;color:#000}.owl-theme .owl-controls .owl-nav .owl-next{right:0;transform:translate(120%)}.owl-theme .owl-controls .owl-nav .owl-prev{left:0;transform:translate(-120%)}.slick-initialized .swipe-tab-content{position:relative;min-height:365px}@media screen and (min-width: 767px){.slick-initialized .swipe-tab-content{min-height:500px}}.slick-initialized .swipe-tab{display:flex;align-items:center;justify-content:center;height:50px;background:none;border:0;color:#757575;cursor:pointer;text-align:center;border-bottom:2px solid rgba(51,122,183,0);transition:all .5s}.slick-initialized .swipe-tab:hover{color:#337ab7}.slick-initialized .swipe-tab.active-tab{border-bottom-color:#337ab7;color:#337ab7;font-weight:bold}.disabled{opacity:.5;pointer-events:none}.select2-container{margin-top:-5px}.btn{padding:0 12px!important}.form-tooltip{color:#337ab7;display:inline-block}.question-info{opacity:0;height:0px;display:none;transition-duration:opacity 1s ease-out;transtion-delay:.5s;padding-top:2px;padding-bottom:2px;color:#696969;border-style:ridge;border-width:1px;border-color:#337ab7;margin-top:2px}.hide-info{display:none;height:0px}.form-tooltip:hover~.question-info{display:block;opacity:1;height:auto}.form-tooltip .tooltipcontent:after{content:\" \";position:absolute;bottom:100%;right:0%;margin-left:-5px;border-width:5px;border-style:solid;border-top-color:transparent;border-right-color:transparent;border-bottom-color:#337ab7;border-left-color:transparent}ng-select.form-control{padding-top:0;height:auto;padding-bottom:0}.forms-dropdown-menu{max-height:450px;overflow-y:scroll}.no-border{border:0;box-shadow:none}.text-danger{color:var(--cds-support-01, #da1e28)}.error{margin-bottom:3rem}.afe-control{margin-bottom:1.5rem}[hidden]{display:none!important}.accordion-content-dark{background-color:#f4f4f4;padding-right:1rem}.accordion-content-override{box-sizing:content-box}.question-area{width:100%;max-width:18rem}.in-line{display:inline-block;padding-right:.5rem}\n"], components: [{ type: TabSetComponent, selector: "ofe-tab-set", inputs: ["disableStyle", "customNavClass", "customTabsClass", "selectedIndex"], outputs: ["tabSelect"] }, { type: TabComponent, selector: "ofe-tab", inputs: ["tabTitle", "tabSubTitle", "active", "disabled", "bypassDOM", "customPaneClass"] }, { type: FormRendererComponent, selector: "ofe-form-renderer", inputs: ["parentComponent", "node", "parentGroup", "theme", "labelMap", "controlId"] }, { type: CustomComponentWrapperComponent, selector: "ofe-custom-component-wrapper", inputs: ["componentConfigs", "dark"] }, { type: CustomControlWrapperComponent, selector: "ofe-custom-control-wrapper", inputs: ["question"] }, { type: SelectComponent, selector: "ofe-select", inputs: ["display", "label", "helperText", "invalidText", "warn", "warnText", "id", "size", "disabled", "skeleton", "invalid", "theme", "ariaLabel", "value"], outputs: ["valueChange"] }, { type: FileUploadComponent, selector: "ofe-file-upload", inputs: ["dataSource"] }, { type: RemoteSelectComponent, selector: "ofe-remote-select", inputs: ["placeholder", "componentID", "disabled", "theme", "dataSource"], outputs: ["done"] }, { type: NgxDatetimeComponent, selector: "ofe-ngx-date-time-picker", inputs: ["id", "theme", "datePickerFormat", "showWeeks", "weeks"] }, { type: i1__namespace$3.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: NumberInputComponent, selector: "ofe-number-input", inputs: ["theme", "disabled", "skeleton", "invalid", "id", "size", "required", "value", "min", "max", "label", "helperText", "invalidText", "step", "precision", "warn", "warnText", "decrementLabel", "incrementLabel"], outputs: ["numberChange"] }, { type: RadioButtonControlComponent, selector: "ofe-radio-button", inputs: ["id", "options", "allowUnselect"] }, { type: CheckboxControlComponent, selector: "ofe-checkbox", inputs: ["id", "options", "selected"] }, { type: AppointmentsOverviewComponent, selector: "ofe-appointments-overview", inputs: ["node"] }], directives: [{ type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CollapseDirective, selector: "[ofeCollapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { type: i19__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i19__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i19__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i19__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i1__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i19__namespace.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i19__namespace.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i19__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: TextAreaDirective, selector: "[ofeTextAreaInput]", inputs: ["theme", "invalid", "skeleton"] }, { type: i1__namespace.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: TextInputDirective, selector: "[ofeTextInput]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { type: HistoricalValueDirective, selector: "[ofeNode]", inputs: ["_node", "node"], outputs: ["_nodeChange"] }], pipes: { "date": i1__namespace.DatePipe, "timeAgo": TimeAgoPipe } });
|
|
9895
10127
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FormRendererComponent, decorators: [{
|
|
9896
10128
|
type: i0.Component,
|
|
9897
10129
|
args: [{
|
|
@@ -11883,7 +12115,7 @@
|
|
|
11883
12115
|
function RadioButtonQuestion(options) {
|
|
11884
12116
|
var _this = _super.call(this, options) || this;
|
|
11885
12117
|
_this.renderingType = 'radio';
|
|
11886
|
-
_this.
|
|
12118
|
+
_this.allowUnselect = options.allowUnselect === true;
|
|
11887
12119
|
_this.options = options.options || [];
|
|
11888
12120
|
_this.controlType = exports.AfeControlType.AfeFormControl;
|
|
11889
12121
|
return _this;
|
|
@@ -12663,11 +12895,14 @@
|
|
|
12663
12895
|
type: '',
|
|
12664
12896
|
key: ''
|
|
12665
12897
|
});
|
|
12898
|
+
question.questionIndex = this.quetionIndex;
|
|
12666
12899
|
question.label = schemaQuestion.label;
|
|
12667
12900
|
question.key = schemaQuestion.id;
|
|
12901
|
+
question.prefix = schemaQuestion.prefix;
|
|
12668
12902
|
question.extras = schemaQuestion;
|
|
12669
|
-
question.
|
|
12670
|
-
schemaQuestion.questionOptions.
|
|
12903
|
+
question.allowUnselect =
|
|
12904
|
+
schemaQuestion.questionOptions.allowUnselect;
|
|
12905
|
+
question.orientation = schemaQuestion.questionOptions.orientation;
|
|
12671
12906
|
question.options = schemaQuestion.questionOptions.answers.map(function (obj) {
|
|
12672
12907
|
return {
|
|
12673
12908
|
label: obj.label,
|