Line data Source code
1 : import 'package:contentstack_utils/Utils.dart'; 2 : 3 : class Option { 4 1 : Option.entry(Map entry); 5 : 6 0 : static String _findTitleOrUid(Map embeddedObject) { 7 : var _title = ''; 8 0 : if (embeddedObject.containsKey('title')) { 9 0 : _title = embeddedObject['title']; 10 0 : } else if (embeddedObject.containsKey('uid')) { 11 0 : _title = embeddedObject['uid']; 12 : } 13 : return _title; 14 : } 15 : 16 0 : static String _findInlineLink(Metadata metadata, Map embeddedObject) { 17 : var _title = ''; 18 0 : if (metadata.getText.isNotEmpty) { 19 0 : _title = metadata.getText; 20 0 : } else if (embeddedObject.containsKey('title')) { 21 0 : _title = embeddedObject['title']; 22 0 : } else if (embeddedObject.containsKey('uid')) { 23 0 : _title = embeddedObject['uid']; 24 : } 25 : return _title; 26 : } 27 : 28 0 : static String _findInlineUrl(Map embeddedObject) { 29 0 : return embeddedObject['url']; 30 : } 31 : 32 0 : static String _findDisplayAtrr(Metadata metadata, Map embeddedObject) { 33 : var _title = ''; 34 0 : if (metadata.attributes.isNotEmpty) { 35 0 : _title = metadata.attributes.toString(); 36 0 : } else if (embeddedObject.containsKey('title')) { 37 0 : _title = embeddedObject['title']; 38 0 : } else if (embeddedObject.containsKey('filename')) { 39 0 : _title = embeddedObject['filename']; 40 0 : } else if (embeddedObject.containsKey('uid')) { 41 0 : _title = embeddedObject['uid']; 42 : } 43 : return _title; 44 : } 45 : 46 1 : String renderOption(Map embeddedObject, Metadata metadata) { 47 2 : if (metadata.styleType == 'block') { 48 0 : return "<div><p>$_findTitleOrUid(embeddedObject)</p><p>Content type: <span>${embeddedObject['_content_type_uid']}</span></p></div>"; 49 2 : } else if (metadata.styleType == 'inline') { 50 1 : return '<span>$_findTitleOrUid(embeddedObject)</span>'; 51 0 : } else if (metadata.styleType == 'link') { 52 0 : return '<a href=$_findInlineUrl(embeddedObject)>$_findInlineLink(metadata, embeddedObject)</a>'; 53 0 : } else if (metadata.styleType == 'display') { 54 0 : return '<img src=${_findInlineUrl(embeddedObject)} alt=$_findDisplayAtrr(metadata, embeddedObject) />'; 55 0 : } else if (metadata.styleType == 'download') { 56 0 : return '<a href=${_findInlineUrl(embeddedObject)} alt=$_findDisplayAtrr(metadata, embeddedObject) </a>'; 57 : } 58 : return ''; 59 : } 60 : }