PageSourceSearch

https://www.companisto.com/code/scripts/dashboard/members.js?v=1700034796

js companisto.com collected 2026-10-04 00:28:48 UTC 8,843 bytes, 251 lines download raw bytes

1if (ar_components === undefined){
2    var ar_components = {};
3}
4
5ar_components.members = function(config){
6    this.user_id           = config.user_id;
7
8    this.ajax_url          = config.ajax_url;
9
10    this.members_container = config.members_container;
11    this.members_load_more = config.members_load_more;
12    this.members_filters   = config.members_filters;
13    this.members_view      = config.members_view;
14    this.members_offset    = config.members_offset;
15    this.pending_members_containers = config.pending_members_containers;
16    this.total_members_count = config.total_members_count;
17
18    this.init();
19};
20
21ar_components.members.prototype.init = function () {
22    this.populateMembers("init");
23
24    this.members_load_more.on("click", function() {
25        this.populateMembers("loadmore");
26    }.bind(this));
27
28    /*
29    this.members_filters.on("change", function(){
30        this.populateMembers("filter");
31    }.bind(this));
32    */
33
34    this.members_view.on("click", function(){
35        var new_view = $(this).attr("data-show");
36
37        $(".view-trigger").removeClass("active");
38        $(this).addClass("active");
39
40        $(".view").hide();
41        $("." + new_view).show();
42    });
43};
44
45/**********************************
46 Start function populate members
47 **************************************/
48ar_components.members.prototype.populateMembers = function(method = "init") {
49
50    $.ajax({
51        type   : "POST",
52        url    : this.ajax_url,
53        data   : {
54            room_id:    this.room_id,
55            offset:     method === "loadmore" ? parseInt(this.members_load_more.attr("data-offset")) : this.members_offset,
56            filter:     this.members_filters.val()
57        },
58        cache: false,
59        beforeSend: function(){
60            if(method === "loadmore") {
61                this.members_load_more.find(".load-more-loading").show();
62            }
63
64            if(method === "filter") {
65                this.members_load_more.hide();
66                this.members_container.find(".members-loader").show();
67                this.members_container.find(".profile-box:not(#member-template):not(#member-template-list)").remove();
68            }
69        }.bind(this),
70        success: function(data) {
71            if(data.status === "ok") {
72                this.members_container.find(".members-loader").hide();
73                this.members_load_more.find(".load-more-loading").hide();
74                if (this.total_members_count) {
75					this.total_members_count.html(data.total_members);
76				}	
77
78                if(Object.size(data.members) > 0) {
79                    $.each(data.members, function(index, item){
80                        this.displayMember(item);
81                    }.bind(this));
82                } else {
83
84                    if(method == 'search'){
85                        $('.show-no-search-banner').removeClass('hide');
86                    } else {
87                        $('.show-no-connections-banner').removeClass('hide');
88                    }
89                }
90
91                this.members_load_more.find(".load-more-loading").hide();
92                this.members_load_more.attr("data-offset", data.next_offset);
93
94                if(data.next_offset >= data.total_members) {
95                    this.members_load_more.hide();
96                } else {
97                    this.members_load_more.show();
98                }
99
100                // todo: rewrite this hardcoded ids
101                if(data.total_pending_memebers > 0) {
102                    this.pending_members_containers.find("#total-pending-memebers").html(data.total_pending_memebers);
103                    this.pending_members_containers.find("#total-pending-shares").html(data.total_pending_shares);
104                    this.pending_members_containers.show();
105                } else {
106                    this.pending_members_containers.hide();
107                }
108            } else {
109                alert("Something went wrong.");
110            }
111        }.bind(this)
112    });
113};
114
115ar_components.members.prototype.displayMember = function(member, order = "append"){
116    var template = this.members_container.find("#member-template").clone();
117
118    template.removeAttr("id");
119
120    if(!member.isAngelClub){
121        template.find(".room-members-profil-image").addClass('gray-border');
122    }
123
124    if(member.isAngelClub){
125        template.find('.ac-logo-image').removeClass('hide');
126    }
127
128
129    template.find(".room-members-profil-image").attr("src", member.member_image);
130    template.find(".room-members-name-value").html(member.name);
131    template.find(".room-members-name-value").attr('title', member.name);
132    template.find(".room-members-honorific-value").html(member.honorific_title);
133    template.find(".room-members-country").html(member.address);
134    template.find(".room-members-position").html(member.position);
135    template.find(".room-members-company").html(member.company);
136    if(parseInt(member.investments_number) > 0) {
137        template.find(".room-members-investments").find("span.room-members-investments-count").html(member.investments_number);
138
139        if(parseInt(member.investments_number) === 1) {
140            template.find(".room-members-investments").find(".room-members-investments-text-singular").show();
141            template.find(".room-members-investments").find(".room-members-investments-text-plurar").hide();
142        } else {
143            template.find(".room-members-investments").find(".room-members-investments-text-singular").hide();
144            template.find(".room-members-investments").find(".room-members-investments-text-plurar").show();
145        }
146    } else {
147        template.find(".room-members-investments").hide();
148    }
149
150    template.find('.profile-actions').html(member.connect_button);
151
152
153
154    if(member.mutual_connections_number > 0){
155        template.find(".mutual-connections-number").html(member.mutual_connections);
156        template.find('.room-members-mutual').attr('data-id', member.uid);
157        template.find('.room-members-mutual').attr('data-href', member.mutual_connections_href);
158        template.find('.room-members-mutual').show();
159    }
160
161
162    if(member.mutual_investments_number > 0){
163        template.find(".mutual-investment-number").html(member.mutual_investments);
164        template.find(".room-members-mutual-investments").show();
165
166
167        if(member.mutual_connections_number === 0){
168            template.find(".room-members-mutual-investments").addClass('push-mutual-bottom');
169        }
170
171    }
172
173
174    template.attr("data-url", member.profile_url);
175    template.find(".room-members-url").attr("href", member.profile_url);
176
177
178    var template_list = this.members_container.find("#member-template-list").clone();
179
180    template_list.removeAttr("id");
181    template_list.find(".room-members-profil-image").attr("src", member.member_image);
182
183
184    if(!member.isAngelClub){
185        template_list.find(".room-members-profil-image").addClass('gray-border');
186    }
187
188    if(member.isAngelClub){
189        template.find('.ac-logo-image').removeClass('hide');
190    }
191
192    template_list.find(".room-members-name-value").html(member.name);
193    template_list.find(".room-members-name-value").attr('title',member.name);
194    template_list.find(".room-members-honorific-value").html(member.honorific_title);
195    template_list.find(".room-members-country").html(member.address);
196    template_list.find(".room-members-position").html(member.position);
197    template_list.find(".room-members-company").html(member.company);
198    template_list.find(".room-members-about").html(member.about);
199    template_list.find(".room-members-investments").html(member.ac_investments);
200    template_list.attr("data-url", member.profile_url);
201
202    template.show();
203    template_list.show();
204
205    if(order === "prepend") {
206        this.members_container.find(".grid-view").prepend(template);
207        this.members_container.find(".list-view").prepend(template_list);
208    } else {
209        this.members_container.find(".grid-view").append(template);
210        this.members_container.find(".list-view").append(template_list);
211    }
212};
213
214
215/**********************************
216 End function load more members
217 **************************************/
218
219Object.size = function(obj) {
220    var size = 0, key;
221    for (key in obj) {
222        if (obj.hasOwnProperty(key)) size++;
223    }
224    return size;
225};
226
227
228
229$(document).on("click", ".room-members-mutual", function(e) {
230
231    var data_href   = $(this).attr('data-href');
232
233    $.ajax({
234        type: "POST",
235        url: data_href,
236        data: {},
237        beforeSent:function(){
238            $('#DefaultModal .modal-content').html('');
239            $('#DefaultModal').modal('hide');
240        },
241        success: function(data) {
242
243            $('#DefaultModal .modal-content').html(data);
244            $('#DefaultModal').modal('show');
245
246        }
247    });
248
249    return false;
250
251});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.