File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -458,7 +458,12 @@ class Updater extends Base {
458458 if ( company ) minified . c = company ;
459459 if ( bio ) minified . b = bio ;
460460 if ( followers ?. totalCount > 0 ) minified . fl = followers . totalCount ;
461- if ( linkedin_url ) minified . li = linkedin_url ;
461+
462+ if ( linkedin_url ) {
463+ // Extract username (handle trailing slash)
464+ const match = linkedin_url . match ( / l i n k e d i n \. c o m \/ i n \/ ( [ ^ / ] + ) / ) ;
465+ if ( match ) minified . li = match [ 1 ] ;
466+ }
462467
463468 // Metadata
464469 if ( isHireable ) minified . h = 1 ;
Original file line number Diff line number Diff line change @@ -207,11 +207,10 @@ class GridContainer extends BaseGridContainer {
207207 text : 'Website' ,
208208 width : 65
209209 } , {
210- type : 'iconLink ' ,
210+ type : 'linkedin ' ,
211211 cellAlign : 'center' ,
212212 dataField : 'linkedinUrl' ,
213213 cellCls : 'devindex-column-linkedin' ,
214- iconCls : 'fa-brands fa-linkedin' ,
215214 text : 'LI' ,
216215 width : 40
217216 } , {
Original file line number Diff line number Diff line change @@ -48,6 +48,7 @@ class GridContainer extends BaseContainer {
4848 icon : column . Icon ,
4949 iconLink : column . IconLink ,
5050 index : column . Index ,
51+ linkedin : column . LinkedIn ,
5152 progress : column . Progress ,
5253 sparkline : column . Sparkline
5354 }
Original file line number Diff line number Diff line change 1+ import ComponentColumn from './Component.mjs' ;
2+ import IconLinkComponent from '../../component/IconLink.mjs' ;
3+
4+ /**
5+ * @class Neo.grid.column.LinkedIn
6+ * @extends Neo.grid.column.Component
7+ */
8+ class LinkedIn extends ComponentColumn {
9+ static config = {
10+ /**
11+ * @member {String} className='Neo.grid.column.LinkedIn'
12+ * @protected
13+ */
14+ className : 'Neo.grid.column.LinkedIn' ,
15+ /**
16+ * @member {Object} defaults
17+ * @protected
18+ */
19+ defaults : {
20+ module : IconLinkComponent
21+ } ,
22+ /**
23+ * @member {String} hideMode='visibility'
24+ * @reactive
25+ */
26+ hideMode : 'visibility' ,
27+ /**
28+ * @member {String|null} iconCls='fa-brands fa-linkedin'
29+ */
30+ iconCls : 'fa-brands fa-linkedin' ,
31+ /**
32+ * @member {String} type='linkedin'
33+ * @protected
34+ */
35+ type : 'linkedin'
36+ }
37+
38+ /**
39+ * @param {Object } config
40+ * @param {Record } record
41+ * @returns {Object }
42+ */
43+ applyRecordConfigs ( config , record ) {
44+ let me = this ,
45+ url = record [ me . dataField ] ;
46+
47+ if ( url && ! url . startsWith ( 'http' ) ) {
48+ url = `https://www.linkedin.com/in/${ url } /`
49+ }
50+
51+ return {
52+ iconCls : me . iconCls ,
53+ url,
54+ ...config
55+ }
56+ }
57+ }
58+
59+ export default Neo . setupClass ( LinkedIn ) ;
Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ import GitHubUser from './GitHubUser.mjs';
99import Icon from './Icon.mjs' ;
1010import IconLink from './IconLink.mjs' ;
1111import Index from './Index.mjs' ;
12+ import LinkedIn from './LinkedIn.mjs' ;
1213import Progress from './Progress.mjs' ;
1314import Sparkline from './Sparkline.mjs' ;
1415
@@ -24,6 +25,7 @@ export {
2425 Icon ,
2526 IconLink ,
2627 Index ,
28+ LinkedIn ,
2729 Progress ,
2830 Sparkline
2931} ;
You can’t perform that action at this time.
0 commit comments