{"_id":"576c2826de333e0e00d0ac08","category":{"_id":"5734b41b9c2cf82900b243ee","__v":0,"project":"5730eb946b55e93400b32aae","version":"5730eb946b55e93400b32ab1","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-05-12T16:49:31.689Z","from_sync":false,"order":9999,"slug":"components","title":"Components"},"project":"5730eb946b55e93400b32aae","__v":1,"user":"5730eaf719c1e00e006d215f","version":{"_id":"5730eb946b55e93400b32ab1","project":"5730eb946b55e93400b32aae","__v":4,"createdAt":"2016-05-09T19:57:08.646Z","releaseDate":"2016-05-09T19:57:08.646Z","categories":["5730eb946b55e93400b32ab2","5734b41b9c2cf82900b243ee","5734c6986d9a38200073dd32","5734cea86d9a38200073dd5a"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"0.3.25","version":"0.3.25"},"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-06-23T18:19:18.586Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":11,"body":"MultiSelect will render checkboxes on desktop and it will render \"button-like\" options on mobile.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Example Usage\"\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"<div class='categories'></div>\",\n      \"language\": \"html\"\n    }\n  ]\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"// Pull in the library\\nconst UI = require('jibe-juice');\\n\\n// Instantiate a component, pass the selector of the container to insert component into and the opts\\nconst categories = new UI.RadioButtons('.categories', {\\n  options: [\\n    {\\n      displayName: 'Marketing',\\n      value: 'mrkt01',\\n      count: 5\\n    },\\n    {\\n      displayName: 'Sales',\\n      value: 'sales',\\n      count: 9\\n    },\\n    {\\n      displayName: 'Engineering',\\n      value: 'eng-2015',\\n      count: 43\\n    }\\n  ],\\n  renderItem: function (item) {\\n    return item.displayName + ' (' + item.count + ')';\\n  }\\n});\\n\\n\\n// Subscribe to fire this function whenever the selected option changes\\ncategories.subscribe((choice) => {\\n  console.log('New Category kiiii!', choice);\\n  categories.render();\\n});\\n\\n// Render the DOM for the RadioButtons component\\ncategories.render();\",\n      \"language\": \"javascript\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"params\"\n}\n[/block]\n\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Name\",\n    \"h-1\": \"Type\",\n    \"h-2\": \"Default\",\n    \"h-3\": \"Description\",\n    \"0-0\": \"el\",\n    \"1-0\": \"opts\",\n    \"1-3\": \"A catch all for various options. See the opts table below for options specific to this component.\",\n    \"1-1\": \"object\",\n    \"1-2\": \"{}\",\n    \"0-1\": \"string\",\n    \"0-2\": \"undefined\",\n    \"0-3\": \"A string of the selector for the element to put the component in\"\n  },\n  \"cols\": 4,\n  \"rows\": 2\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"opts\"\n}\n[/block]\n\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Name\",\n    \"h-1\": \"Type\",\n    \"h-2\": \"Default\",\n    \"h-3\": \"Description\",\n    \"h-4\": \"Description\",\n    \"0-0\": \"displayNameKey\",\n    \"0-2\": \"`'displayName'`\",\n    \"0-1\": \"string\",\n    \"0-3\": \"A string indicating the index of the displayName property\",\n    \"2-0\": \"renderItem\",\n    \"2-1\": \"function\",\n    \"2-2\": \"`this.renderItem`\",\n    \"2-3\": \"A function to render each item\",\n    \"1-0\": \"radioBoxes\",\n    \"1-1\": \"boolean\",\n    \"1-2\": \"`false`\",\n    \"1-3\": \"A boolean indicating if our radio buttons should appear like checkboxes\"\n  },\n  \"cols\": 4,\n  \"rows\": 3\n}\n[/block]","excerpt":"","slug":"radiobuttons","type":"basic","title":"RadioButtons"}
MultiSelect will render checkboxes on desktop and it will render "button-like" options on mobile. [block:api-header] { "type": "basic", "title": "Example Usage" } [/block] [block:code] { "codes": [ { "code": "<div class='categories'></div>", "language": "html" } ] } [/block] [block:code] { "codes": [ { "code": "// Pull in the library\nconst UI = require('jibe-juice');\n\n// Instantiate a component, pass the selector of the container to insert component into and the opts\nconst categories = new UI.RadioButtons('.categories', {\n options: [\n {\n displayName: 'Marketing',\n value: 'mrkt01',\n count: 5\n },\n {\n displayName: 'Sales',\n value: 'sales',\n count: 9\n },\n {\n displayName: 'Engineering',\n value: 'eng-2015',\n count: 43\n }\n ],\n renderItem: function (item) {\n return item.displayName + ' (' + item.count + ')';\n }\n});\n\n\n// Subscribe to fire this function whenever the selected option changes\ncategories.subscribe((choice) => {\n console.log('New Category kiiii!', choice);\n categories.render();\n});\n\n// Render the DOM for the RadioButtons component\ncategories.render();", "language": "javascript" } ] } [/block] [block:api-header] { "type": "basic", "title": "params" } [/block] [block:parameters] { "data": { "h-0": "Name", "h-1": "Type", "h-2": "Default", "h-3": "Description", "0-0": "el", "1-0": "opts", "1-3": "A catch all for various options. See the opts table below for options specific to this component.", "1-1": "object", "1-2": "{}", "0-1": "string", "0-2": "undefined", "0-3": "A string of the selector for the element to put the component in" }, "cols": 4, "rows": 2 } [/block] [block:api-header] { "type": "basic", "title": "opts" } [/block] [block:parameters] { "data": { "h-0": "Name", "h-1": "Type", "h-2": "Default", "h-3": "Description", "h-4": "Description", "0-0": "displayNameKey", "0-2": "`'displayName'`", "0-1": "string", "0-3": "A string indicating the index of the displayName property", "2-0": "renderItem", "2-1": "function", "2-2": "`this.renderItem`", "2-3": "A function to render each item", "1-0": "radioBoxes", "1-1": "boolean", "1-2": "`false`", "1-3": "A boolean indicating if our radio buttons should appear like checkboxes" }, "cols": 4, "rows": 3 } [/block]